@@ -269,38 +269,50 @@ def __parse_property_grpc(
269269 elif aggregation .HasField ("int" ):
270270 return AggregateInteger (
271271 count = aggregation .int .count ,
272- maximum = aggregation .int .maximum ,
273- mean = aggregation .int .mean ,
274- median = aggregation .int .median ,
275- minimum = aggregation .int .minimum ,
276- mode = aggregation .int .mode ,
277- sum_ = aggregation .int .sum ,
272+ maximum = aggregation .int .maximum if aggregation . int . HasField ( "maximum" ) else None ,
273+ mean = aggregation .int .mean if aggregation . int . HasField ( "mean" ) else None ,
274+ median = aggregation .int .median if aggregation . int . HasField ( "median" ) else None ,
275+ minimum = aggregation .int .minimum if aggregation . int . HasField ( "minimum" ) else None ,
276+ mode = aggregation .int .mode if aggregation . int . HasField ( "mode" ) else None ,
277+ sum_ = aggregation .int .sum if aggregation . int . HasField ( "sum" ) else None ,
278278 )
279279 elif aggregation .HasField ("number" ):
280280 return AggregateNumber (
281281 count = aggregation .number .count ,
282- maximum = aggregation .number .maximum ,
283- mean = aggregation .number .mean ,
284- median = aggregation .number .median ,
285- minimum = aggregation .number .minimum ,
286- mode = aggregation .number .mode ,
287- sum_ = aggregation .number .sum ,
282+ maximum = aggregation .number .maximum
283+ if aggregation .number .HasField ("maximum" )
284+ else None ,
285+ mean = aggregation .number .mean if aggregation .number .HasField ("mean" ) else None ,
286+ median = aggregation .number .median if aggregation .number .HasField ("median" ) else None ,
287+ minimum = aggregation .number .minimum
288+ if aggregation .number .HasField ("minimum" )
289+ else None ,
290+ mode = aggregation .number .mode if aggregation .number .HasField ("mode" ) else None ,
291+ sum_ = aggregation .number .sum if aggregation .number .HasField ("sum" ) else None ,
288292 )
289293 elif aggregation .HasField ("boolean" ):
290294 return AggregateBoolean (
291295 count = aggregation .boolean .count ,
292- percentage_false = aggregation .boolean .percentage_false ,
293- percentage_true = aggregation .boolean .percentage_true ,
294- total_false = aggregation .boolean .total_false ,
295- total_true = aggregation .boolean .total_true ,
296+ percentage_false = aggregation .boolean .percentage_false
297+ if aggregation .boolean .HasField ("percentage_false" )
298+ else None ,
299+ percentage_true = aggregation .boolean .percentage_true
300+ if aggregation .boolean .HasField ("percentage_true" )
301+ else None ,
302+ total_false = aggregation .boolean .total_false
303+ if aggregation .boolean .HasField ("total_false" )
304+ else None ,
305+ total_true = aggregation .boolean .total_true
306+ if aggregation .boolean .HasField ("total_true" )
307+ else None ,
296308 )
297309 elif aggregation .HasField ("date" ):
298310 return AggregateDate (
299311 count = aggregation .date .count ,
300- maximum = aggregation .date .maximum ,
301- median = aggregation .date .median ,
302- minimum = aggregation .date .minimum ,
303- mode = aggregation .date .mode ,
312+ maximum = aggregation .date .maximum if aggregation . date . HasField ( "maximum" ) else None ,
313+ median = aggregation .date .median if aggregation . date . HasField ( "median" ) else None ,
314+ minimum = aggregation .date .minimum if aggregation . date . HasField ( "minimum" ) else None ,
315+ mode = aggregation .date .mode if aggregation . date . HasField ( "mode" ) else None ,
304316 )
305317 elif aggregation .HasField ("reference" ):
306318 return AggregateReference (pointing_to = list (aggregation .reference .pointing_to ))
0 commit comments