@@ -48,7 +48,7 @@ def _parse_single_arg(key: str) -> Tuple[str, str]:
48
48
49
49
50
50
@dataclass
51
- class GeoPair :
51
+ class GeoSet :
52
52
geo_type : str
53
53
geo_values : Union [bool , Sequence [str ]]
54
54
@@ -64,20 +64,20 @@ def count(self) -> float:
64
64
return len (self .geo_values )
65
65
66
66
67
- def parse_geo_arg (key : str = "geo" ) -> List [GeoPair ]:
68
- return [GeoPair (geo_type , geo_values ) for [geo_type , geo_values ] in _parse_common_multi_arg (key )]
67
+ def parse_geo_arg (key : str = "geo" ) -> List [GeoSet ]:
68
+ return [GeoSet (geo_type , geo_values ) for [geo_type , geo_values ] in _parse_common_multi_arg (key )]
69
69
70
70
71
- def parse_single_geo_arg (key : str ) -> GeoPair :
71
+ def parse_single_geo_arg (key : str ) -> GeoSet :
72
72
"""
73
73
parses a single geo pair with only one value
74
74
"""
75
75
r = _parse_single_arg (key )
76
- return GeoPair (r [0 ], [r [1 ]])
76
+ return GeoSet (r [0 ], [r [1 ]])
77
77
78
78
79
79
@dataclass
80
- class SourceSignalPair :
80
+ class SourceSignalSet :
81
81
source : str
82
82
signal : Union [bool , Sequence [str ]]
83
83
@@ -93,20 +93,20 @@ def count(self) -> float:
93
93
return len (self .signal )
94
94
95
95
96
- def parse_source_signal_arg (key : str = "signal" ) -> List [SourceSignalPair ]:
97
- return [SourceSignalPair (source , signals ) for [source , signals ] in _parse_common_multi_arg (key )]
96
+ def parse_source_signal_arg (key : str = "signal" ) -> List [SourceSignalSet ]:
97
+ return [SourceSignalSet (source , signals ) for [source , signals ] in _parse_common_multi_arg (key )]
98
98
99
99
100
- def parse_single_source_signal_arg (key : str ) -> SourceSignalPair :
100
+ def parse_single_source_signal_arg (key : str ) -> SourceSignalSet :
101
101
"""
102
102
parses a single source signal pair with only one value
103
103
"""
104
104
r = _parse_single_arg (key )
105
- return SourceSignalPair (r [0 ], [r [1 ]])
105
+ return SourceSignalSet (r [0 ], [r [1 ]])
106
106
107
107
108
108
@dataclass
109
- class TimePair :
109
+ class TimeSet :
110
110
time_type : str
111
111
time_values : Union [bool , TimeValues ]
112
112
@@ -134,10 +134,10 @@ def to_ranges(self):
134
134
returns this pair with times converted to ranges
135
135
"""
136
136
if isinstance (self .time_values , bool ):
137
- return TimePair (self .time_type , self .time_values )
137
+ return TimeSet (self .time_type , self .time_values )
138
138
if self .time_type == 'week' :
139
- return TimePair (self .time_type , weeks_to_ranges (self .time_values ))
140
- return TimePair (self .time_type , days_to_ranges (self .time_values ))
139
+ return TimeSet (self .time_type , weeks_to_ranges (self .time_values ))
140
+ return TimeSet (self .time_type , days_to_ranges (self .time_values ))
141
141
142
142
143
143
def _verify_range (start : int , end : int ) -> Union [int , Tuple [int , int ]]:
@@ -204,18 +204,18 @@ def parse_day_value(time_value: str) -> Union[int, Tuple[int, int]]:
204
204
raise ValidationFailedException (msg )
205
205
206
206
207
- def _parse_time_pair (time_type : str , time_values : Union [bool , Sequence [str ]]) -> TimePair :
207
+ def _parse_time_pair (time_type : str , time_values : Union [bool , Sequence [str ]]) -> TimeSet :
208
208
if isinstance (time_values , bool ):
209
- return TimePair (time_type , time_values )
209
+ return TimeSet (time_type , time_values )
210
210
211
211
if time_type == "week" :
212
- return TimePair ("week" , [parse_week_value (t ) for t in time_values ])
212
+ return TimeSet ("week" , [parse_week_value (t ) for t in time_values ])
213
213
elif time_type == "day" :
214
- return TimePair ("day" , [parse_day_value (t ) for t in time_values ])
214
+ return TimeSet ("day" , [parse_day_value (t ) for t in time_values ])
215
215
raise ValidationFailedException (f'time param: { time_type } is not one of "day" or "week"' )
216
216
217
217
218
- def parse_time_arg (key : str = "time" ) -> Optional [TimePair ]:
218
+ def parse_time_arg (key : str = "time" ) -> Optional [TimeSet ]:
219
219
time_pairs = [_parse_time_pair (time_type , time_values ) for [time_type , time_values ] in _parse_common_multi_arg (key )]
220
220
221
221
# single value
@@ -236,10 +236,10 @@ def parse_time_arg(key: str = "time") -> Optional[TimePair]:
236
236
return time_pair
237
237
else :
238
238
merged .extend (time_pair .time_values )
239
- return TimePair (time_pairs [0 ].time_type , merged ).to_ranges ()
239
+ return TimeSet (time_pairs [0 ].time_type , merged ).to_ranges ()
240
240
241
241
242
- def parse_single_time_arg (key : str ) -> TimePair :
242
+ def parse_single_time_arg (key : str ) -> TimeSet :
243
243
"""
244
244
parses a single time pair with only one value
245
245
"""
@@ -285,26 +285,26 @@ def parse_week_range_arg(key: str) -> Tuple[int, int]:
285
285
raise ValidationFailedException (f"{ key } must match YYYYWW-YYYYWW" )
286
286
return r
287
287
288
- def parse_day_or_week_arg (key : str , default_value : Optional [int ] = None ) -> TimePair :
288
+ def parse_day_or_week_arg (key : str , default_value : Optional [int ] = None ) -> TimeSet :
289
289
v = request .values .get (key )
290
290
if not v :
291
291
if default_value is not None :
292
292
time_type = "day" if guess_time_value_is_day (default_value ) else "week"
293
- return TimePair (time_type , [default_value ])
293
+ return TimeSet (time_type , [default_value ])
294
294
raise ValidationFailedException (f"{ key } param is required" )
295
295
# format is either YYYY-MM-DD or YYYYMMDD or YYYYMM
296
296
is_week = guess_time_value_is_week (v )
297
297
if is_week :
298
- return TimePair ("week" , [parse_week_arg (key )])
299
- return TimePair ("day" , [parse_day_arg (key )])
298
+ return TimeSet ("week" , [parse_week_arg (key )])
299
+ return TimeSet ("day" , [parse_day_arg (key )])
300
300
301
- def parse_day_or_week_range_arg (key : str ) -> TimePair :
301
+ def parse_day_or_week_range_arg (key : str ) -> TimeSet :
302
302
v = request .values .get (key )
303
303
if not v :
304
304
raise ValidationFailedException (f"{ key } param is required" )
305
305
# format is either YYYY-MM-DD--YYYY-MM-DD or YYYYMMDD-YYYYMMDD or YYYYMM-YYYYMM
306
306
# so if the first before the - has length 6, it must be a week
307
307
is_week = guess_time_value_is_week (v .split ('-' , 2 )[0 ])
308
308
if is_week :
309
- return TimePair ("week" , [parse_week_range_arg (key )])
310
- return TimePair ("day" , [parse_day_range_arg (key )])
309
+ return TimeSet ("week" , [parse_week_range_arg (key )])
310
+ return TimeSet ("day" , [parse_day_range_arg (key )])
0 commit comments