Skip to content

Commit 78be18e

Browse files
committed
Rename related methods & tests
1 parent f43523a commit 78be18e

File tree

6 files changed

+154
-156
lines changed

6 files changed

+154
-156
lines changed

src/server/_params.py

+21-21
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ def matches(self, geo_type: str, geo_value: str) -> bool:
5757

5858
def count(self) -> float:
5959
"""
60-
returns the count of items in this pair
60+
returns the count of items in this set
6161
"""
6262
if isinstance(self.geo_values, bool):
6363
return inf if self.geo_values else 0
@@ -70,7 +70,7 @@ def parse_geo_arg(key: str = "geo") -> List[GeoSet]:
7070

7171
def parse_single_geo_arg(key: str) -> GeoSet:
7272
"""
73-
parses a single geo pair with only one value
73+
parses a single geo set with only one value
7474
"""
7575
r = _parse_single_arg(key)
7676
return GeoSet(r[0], [r[1]])
@@ -86,7 +86,7 @@ def matches(self, source: str, signal: str) -> bool:
8686

8787
def count(self) -> float:
8888
"""
89-
returns the count of items in this pair
89+
returns the count of items in this set
9090
"""
9191
if isinstance(self.signal, bool):
9292
return inf if self.signal else 0
@@ -99,7 +99,7 @@ def parse_source_signal_arg(key: str = "signal") -> List[SourceSignalSet]:
9999

100100
def parse_single_source_signal_arg(key: str) -> SourceSignalSet:
101101
"""
102-
parses a single source signal pair with only one value
102+
parses a single source signal set with only one value
103103
"""
104104
r = _parse_single_arg(key)
105105
return SourceSignalSet(r[0], [r[1]])
@@ -121,7 +121,7 @@ def is_day(self) -> bool:
121121

122122
def count(self) -> float:
123123
"""
124-
returns the count of items in this pair
124+
returns the count of items in this set
125125
"""
126126
if isinstance(self.time_values, bool):
127127
return inf if self.time_values else 0
@@ -131,7 +131,7 @@ def count(self) -> float:
131131

132132
def to_ranges(self):
133133
"""
134-
returns this pair with times converted to ranges
134+
returns this set with times converted to ranges
135135
"""
136136
if isinstance(self.time_values, bool):
137137
return TimeSet(self.time_type, self.time_values)
@@ -204,7 +204,7 @@ def parse_day_value(time_value: str) -> IntRange:
204204
raise ValidationFailedException(msg)
205205

206206

207-
def _parse_time_pair(time_type: str, time_values: Union[bool, Sequence[str]]) -> TimeSet:
207+
def _parse_time_set(time_type: str, time_values: Union[bool, Sequence[str]]) -> TimeSet:
208208
if isinstance(time_values, bool):
209209
return TimeSet(time_type, time_values)
210210

@@ -216,35 +216,35 @@ def _parse_time_pair(time_type: str, time_values: Union[bool, Sequence[str]]) ->
216216

217217

218218
def parse_time_arg(key: str = "time") -> Optional[TimeSet]:
219-
time_pairs = [_parse_time_pair(time_type, time_values) for [time_type, time_values] in _parse_common_multi_arg(key)]
219+
time_sets = [_parse_time_set(time_type, time_values) for [time_type, time_values] in _parse_common_multi_arg(key)]
220220

221221
# single value
222-
if len(time_pairs) == 0:
222+
if len(time_sets) == 0:
223223
return None
224-
if len(time_pairs) == 1:
225-
return time_pairs[0]
224+
if len(time_sets) == 1:
225+
return time_sets[0]
226226

227227
# make sure 'day' and 'week' aren't mixed
228-
time_types = set(time_pair.time_type for time_pair in time_pairs)
228+
time_types = set(time_set.time_type for time_set in time_sets)
229229
if len(time_types) >= 2:
230-
raise ValidationFailedException(f'{key}: {time_pairs} mixes "day" and "week" time types')
230+
raise ValidationFailedException(f'{key}: {time_sets} mixes "day" and "week" time types')
231231

232-
# merge all time pairs into one
232+
# merge all time sets into one
233233
merged = []
234-
for time_pair in time_pairs:
235-
if time_pair.time_values is True:
236-
return time_pair
234+
for time_set in time_sets:
235+
if time_set.time_values is True:
236+
return time_set
237237
else:
238-
merged.extend(time_pair.time_values)
239-
return TimeSet(time_pairs[0].time_type, merged).to_ranges()
238+
merged.extend(time_set.time_values)
239+
return TimeSet(time_sets[0].time_type, merged).to_ranges()
240240

241241

242242
def parse_single_time_arg(key: str) -> TimeSet:
243243
"""
244-
parses a single time pair with only one value
244+
parses a single time set with only one value
245245
"""
246246
r = _parse_single_arg(key)
247-
return _parse_time_pair(r[0], [r[1]])
247+
return _parse_time_set(r[0], [r[1]])
248248

249249

250250
def parse_day_range_arg(key: str) -> Tuple[int, int]:

src/server/_query.py

+33-36
Original file line numberDiff line numberDiff line change
@@ -115,25 +115,25 @@ def filter_fields(generator: Iterable[Dict[str, Any]]):
115115
yield filtered
116116

117117

118-
def filter_geo_pairs(
118+
def filter_geo_sets(
119119
type_field: str,
120120
value_field: str,
121121
values: Sequence[GeoSet],
122122
param_key: str,
123123
params: Dict[str, Any],
124124
) -> str:
125125
"""
126-
returns the SQL sub query to filter by the given geo pairs
126+
returns the SQL sub query to filter by the given geo sets
127127
"""
128128

129-
def filter_pair(pair: GeoSet, i) -> str:
129+
def filter_set(set: GeoSet, i) -> str:
130130
type_param = f"{param_key}_{i}t"
131-
params[type_param] = pair.geo_type
132-
if isinstance(pair.geo_values, bool) and pair.geo_values:
131+
params[type_param] = set.geo_type
132+
if isinstance(set.geo_values, bool) and set.geo_values:
133133
return f"{type_field} = :{type_param}"
134-
return f"({type_field} = :{type_param} AND {filter_strings(value_field, cast(Sequence[str], pair.geo_values), type_param, params)})"
134+
return f"({type_field} = :{type_param} AND {filter_strings(value_field, cast(Sequence[str], set.geo_values), type_param, params)})"
135135

136-
parts = [filter_pair(p, i) for i, p in enumerate(values)]
136+
parts = [filter_set(p, i) for i, p in enumerate(values)]
137137

138138
if not parts:
139139
# something has to be selected
@@ -142,25 +142,25 @@ def filter_pair(pair: GeoSet, i) -> str:
142142
return f"({' OR '.join(parts)})"
143143

144144

145-
def filter_source_signal_pairs(
145+
def filter_source_signal_sets(
146146
source_field: str,
147147
signal_field: str,
148148
values: Sequence[SourceSignalSet],
149149
param_key: str,
150150
params: Dict[str, Any],
151151
) -> str:
152152
"""
153-
returns the SQL sub query to filter by the given source signal pairs
153+
returns the SQL sub query to filter by the given source signal sets
154154
"""
155155

156-
def filter_pair(pair: SourceSignalSet, i) -> str:
156+
def filter_set(set: SourceSignalSet, i) -> str:
157157
source_param = f"{param_key}_{i}t"
158-
params[source_param] = pair.source
159-
if isinstance(pair.signal, bool) and pair.signal:
158+
params[source_param] = set.source
159+
if isinstance(set.signal, bool) and set.signal:
160160
return f"{source_field} = :{source_param}"
161-
return f"({source_field} = :{source_param} AND {filter_strings(signal_field, cast(Sequence[str], pair.signal), source_param, params)})"
161+
return f"({source_field} = :{source_param} AND {filter_strings(signal_field, cast(Sequence[str], set.signal), source_param, params)})"
162162

163-
parts = [filter_pair(p, i) for i, p in enumerate(values)]
163+
parts = [filter_set(p, i) for i, p in enumerate(values)]
164164

165165
if not parts:
166166
# something has to be selected
@@ -169,26 +169,26 @@ def filter_pair(pair: SourceSignalSet, i) -> str:
169169
return f"({' OR '.join(parts)})"
170170

171171

172-
def filter_time_pair(
172+
def filter_time_set(
173173
type_field: str,
174174
time_field: str,
175-
pair: Optional[TimeSet],
175+
set: Optional[TimeSet],
176176
param_key: str,
177177
params: Dict[str, Any],
178178
) -> str:
179179
"""
180-
returns the SQL sub query to filter by the given time pair
180+
returns the SQL sub query to filter by the given time set
181181
"""
182-
# safety path; should normally not be reached as time pairs are enforced by the API
183-
if not pair:
182+
# safety path; should normally not be reached as time sets are enforced by the API
183+
if not set:
184184
return "FALSE"
185185

186186
type_param = f"{param_key}_0t"
187-
params[type_param] = pair.time_type
188-
if isinstance(pair.time_values, bool) and pair.time_values:
187+
params[type_param] = set.time_type
188+
if isinstance(set.time_values, bool) and set.time_values:
189189
parts = f"{type_field} = :{type_param}"
190190
else:
191-
ranges = pair.to_ranges().time_values
191+
ranges = set.to_ranges().time_values
192192
parts = f"({type_field} = :{type_param} AND {filter_integers(time_field, ranges, type_param, params)})"
193193

194194
return f"({parts})"
@@ -406,65 +406,62 @@ def where_integers(
406406
self.conditions.append(filter_integers(fq_field, values, param_key or field, self.params))
407407
return self
408408

409-
def where_geo_pairs(
409+
def apply_geo_filters(
410410
self,
411411
type_field: str,
412412
value_field: str,
413413
values: Sequence[GeoSet],
414-
param_key: Optional[str] = None,
415-
) -> "QueryBuilder":
414+
param_key: Optional[str] = None
415+
):
416416
fq_type_field = self._fq_field(type_field)
417417
fq_value_field = self._fq_field(value_field)
418418
self.conditions.append(
419-
filter_geo_pairs(
419+
filter_geo_sets(
420420
fq_type_field,
421421
fq_value_field,
422422
values,
423423
param_key or type_field,
424424
self.params,
425425
)
426426
)
427-
return self
428427

429-
def where_source_signal_pairs(
428+
def apply_source_signal_filters(
430429
self,
431430
type_field: str,
432431
value_field: str,
433432
values: Sequence[SourceSignalSet],
434-
param_key: Optional[str] = None,
435-
) -> "QueryBuilder":
433+
param_key: Optional[str] = None
434+
):
436435
fq_type_field = self._fq_field(type_field)
437436
fq_value_field = self._fq_field(value_field)
438437
self.conditions.append(
439-
filter_source_signal_pairs(
438+
filter_source_signal_sets(
440439
fq_type_field,
441440
fq_value_field,
442441
values,
443442
param_key or type_field,
444443
self.params,
445444
)
446445
)
447-
return self
448446

449-
def where_time_pair(
447+
def apply_time_filter(
450448
self,
451449
type_field: str,
452450
value_field: str,
453451
values: Optional[TimeSet],
454452
param_key: Optional[str] = None,
455-
) -> "QueryBuilder":
453+
):
456454
fq_type_field = self._fq_field(type_field)
457455
fq_value_field = self._fq_field(value_field)
458456
self.conditions.append(
459-
filter_time_pair(
457+
filter_time_set(
460458
fq_type_field,
461459
fq_value_field,
462460
values,
463461
param_key or type_field,
464462
self.params,
465463
)
466464
)
467-
return self
468465

469466
def apply_lag_filter(self, history_table: str, lag: Optional[int]):
470467
if lag is not None:

0 commit comments

Comments
 (0)