Skip to content

Commit 61d0b81

Browse files
committed
Updating elasticsearch and date centroid.
1 parent b87e4e6 commit 61d0b81

File tree

3 files changed

+19
-9
lines changed

3 files changed

+19
-9
lines changed

extraction_methods/plugins/datetime_bound_to_centroid.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,20 @@ def __init__(self, **kwargs):
6666
if "format" not in self.output_term:
6767
self.output_term["format"] = "%Y-%m-%dT%H:%M:%SZ"
6868

69+
def strip_time(self, datetime_str:str, datetime_format:str) -> "datetime":
70+
try:
71+
return datetime.strptime(datetime_str, datetime_format)
72+
except ValueError as v:
73+
if len(v.args) > 0 and v.args[0].startswith('unconverted data remains: '):
74+
datetime_str = datetime_str[:-(len(v.args[0]) - 26)]
75+
return datetime.strptime(datetime_str, datetime_format)
76+
else:
77+
raise
78+
6979
def run(self, body: dict, **kwargs):
7080

71-
start_datetime = datetime.strptime(body[self.start_term["name"]], self.start_term["format"])
72-
end_datetime = datetime.strptime(body[self.end_term["name"]], self.end_term["format"])
81+
start_datetime = self.strip_time(body[self.start_term["name"]], self.start_term["format"])
82+
end_datetime = self.strip_time(body[self.end_term["name"]], self.end_term["format"])
7383

7484
centroid_datetime = start_datetime + (end_datetime - start_datetime) / 2
7585

extraction_methods/plugins/elasticsearch_aggregation.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -69,23 +69,23 @@ def __init__(self, **kwargs):
6969
if not hasattr(self, "request_tiemout"):
7070
self.request_tiemout = 15
7171

72-
for position, geo_bound_term in enumerate(self.geo_bounds):
72+
for position, geo_bound_term in enumerate(getattr(self, "geo_bounds", [])):
7373
if "name" not in geo_bound_term:
7474
self.geo_bounds[position]["name"] = geo_bound_term["key"]
7575

76-
for position, min_term in enumerate(self.min):
76+
for position, min_term in enumerate(getattr(self, "min", [])):
7777
if "name" not in min_term:
7878
self.min[position]["name"] = min_term["key"]
7979

80-
for position, max_term in enumerate(self.max):
80+
for position, max_term in enumerate(getattr(self, "max", [])):
8181
if "name" not in max_term:
8282
self.max[position]["name"] = max_term["key"]
8383

84-
for position, sum_term in enumerate(self.sum):
84+
for position, sum_term in enumerate(getattr(self, "sum", [])):
8585
if "name" not in sum_term:
8686
self.sum[position]["name"] = sum_term["key"]
8787

88-
for position, list_term in enumerate(self.list):
88+
for position, list_term in enumerate(getattr(self, "list", [])):
8989
if "name" not in list_term:
9090
self.list[position]["name"] = list_term["key"]
9191

@@ -147,7 +147,7 @@ def extract_facet(self, facets: list):
147147
elif "bounds" in self.aggregations[facet["name"]].keys():
148148
value = self.aggregations[facet["name"]]["bounds"]
149149

150-
else:
150+
elif "value" in self.aggregations[facet["name"]].keys():
151151
value = self.aggregations[facet["name"]]["value"]
152152

153153
self.metadata[facet["name"]] = value

extraction_methods/plugins/lambda.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class LambdaExtract(ExtractionMethod):
4242
4343
.. code-block:: yaml
4444
45-
- method: general_function
45+
- method: lambda
4646
function: 'lambda x: x * x'
4747
input_args:
4848
- hello

0 commit comments

Comments
 (0)