2
2
/*
3
3
* libopenraw - libopenraw-testing.rs
4
4
*
5
- * Copyright (C) 2022-2024 Hubert Figuière
5
+ * Copyright (C) 2022-2025 Hubert Figuière
6
6
*
7
7
* This library is free software: you can redistribute it and/or
8
8
* modify it under the terms of the GNU Lesser General Public License
@@ -95,17 +95,9 @@ pub struct Results {
95
95
default
96
96
) ]
97
97
pub raw_data_active_area : Option < Vec < u32 > > ,
98
- #[ serde(
99
- deserialize_with = "from_list" ,
100
- serialize_with = "to_list" ,
101
- default
102
- ) ]
98
+ #[ serde( deserialize_with = "from_list" , serialize_with = "to_list" , default ) ]
103
99
pub raw_data_user_crop : Option < Vec < u32 > > ,
104
- #[ serde(
105
- deserialize_with = "from_list" ,
106
- serialize_with = "to_list" ,
107
- default
108
- ) ]
100
+ #[ serde( deserialize_with = "from_list" , serialize_with = "to_list" , default ) ]
109
101
#[ serde( skip_serializing_if = "Option::is_none" ) ]
110
102
pub raw_data_user_aspect_ratio : Option < Vec < u32 > > ,
111
103
#[ serde( skip_serializing_if = "Option::is_none" ) ]
@@ -202,7 +194,7 @@ impl Test {
202
194
203
195
pub fn make_results ( rawfile : & dyn RawFile ) -> Results {
204
196
let raw_type = Some ( rawfile. type_ ( ) . into ( ) ) ;
205
- let raw_type_id = Some ( rawfile. type_id ( ) . into ( ) ) ;
197
+ let raw_type_id = rawfile. type_id ( ) . map ( |id| id . into ( ) ) . ok ( ) ;
206
198
let exif_make = rawfile
207
199
. metadata_value ( "Exif.Image.Make" )
208
200
. as_ref ( )
@@ -222,37 +214,46 @@ pub fn make_results(rawfile: &dyn RawFile) -> Results {
222
214
. map ( |s| s. to_string_lossy ( ) . to_string ( ) ) ;
223
215
224
216
let thumbnail_sizes = rawfile. thumbnail_sizes ( ) ;
225
- let thumb_num = Some ( thumbnail_sizes. len ( ) as u32 ) ;
226
- let thumb_sizes = Some ( thumbnail_sizes. to_vec ( ) ) ;
217
+ let thumb_num = thumbnail_sizes. map ( |sizes| sizes . len ( ) as u32 ) ;
218
+ let thumb_sizes = thumbnail_sizes. map ( |sizes| sizes . to_vec ( ) ) ;
227
219
228
220
let thumbnails = rawfile. thumbnails ( ) ;
229
- let thumb_formats = Some (
230
- thumbnails
231
- . thumbnails
232
- . iter ( )
233
- . map ( |t| t. 1 . data_type . into ( ) )
234
- . collect :: < Vec < String > > ( )
235
- . join ( " " ) ,
236
- ) ;
237
- let thumb_data_sizes = Some (
238
- thumbnails
239
- . thumbnails
240
- . iter ( )
241
- . map ( |t| t. 1 . data_size ( ) as u32 )
242
- . collect ( ) ,
243
- ) ;
244
- let thumb_md5 = Some (
245
- thumbnails
246
- . thumbnails
247
- . iter ( )
248
- . flat_map ( |t| {
249
- rawfile
250
- . thumbnail ( t. 0 )
251
- . ok ( )
252
- . and_then ( |t| t. data8 ( ) . map ( raw_checksum) )
253
- } )
254
- . collect ( ) ,
255
- ) ;
221
+ let thumb_formats = thumbnails
222
+ . as_ref ( )
223
+ . map ( |thumbnails| {
224
+ thumbnails
225
+ . thumbnails
226
+ . iter ( )
227
+ . map ( |t| t. 1 . data_type . into ( ) )
228
+ . collect :: < Vec < String > > ( )
229
+ . join ( " " )
230
+ } )
231
+ . ok ( ) ;
232
+ let thumb_data_sizes = thumbnails
233
+ . as_ref ( )
234
+ . map ( |thumbnails| {
235
+ thumbnails
236
+ . thumbnails
237
+ . iter ( )
238
+ . map ( |t| t. 1 . data_size ( ) as u32 )
239
+ . collect ( )
240
+ } )
241
+ . ok ( ) ;
242
+ let thumb_md5 = thumbnails
243
+ . as_ref ( )
244
+ . map ( |thumbnails| {
245
+ thumbnails
246
+ . thumbnails
247
+ . iter ( )
248
+ . flat_map ( |t| {
249
+ rawfile
250
+ . thumbnail ( t. 0 )
251
+ . ok ( )
252
+ . and_then ( |t| t. data8 ( ) . map ( raw_checksum) )
253
+ } )
254
+ . collect ( )
255
+ } )
256
+ . ok ( ) ;
256
257
257
258
let rawdata = rawfile. raw_data ( false ) ;
258
259
let rawdata = rawdata. as_ref ( ) ;
@@ -278,7 +279,9 @@ pub fn make_results(rawfile: &dyn RawFile) -> Results {
278
279
. ok ( ) ;
279
280
let raw_min_value = rawdata. map ( |rawdata| rawdata. blacks ( ) . to_vec ( ) ) . ok ( ) ;
280
281
let raw_max_value = rawdata. map ( |rawdata| rawdata. whites ( ) . to_vec ( ) ) . ok ( ) ;
281
- let raw_as_shot_neutral = rawdata. ok ( ) . and_then ( |rawdata| rawdata. as_shot_neutral ( ) )
282
+ let raw_as_shot_neutral = rawdata
283
+ . ok ( )
284
+ . and_then ( |rawdata| rawdata. as_shot_neutral ( ) )
282
285
. map ( |as_shot| as_shot. to_vec ( ) ) ;
283
286
let raw_md5 = rawdata
284
287
. ok ( )
0 commit comments