From 47f7b2b6723db94cc25f6056b39083a4f2058935 Mon Sep 17 00:00:00 2001 From: Kadir Date: Mon, 25 Mar 2024 20:47:31 +0000 Subject: [PATCH] Adding initial walking time and identifier to the information --- crawler/data_access.py | 2 +- crawler/rec/routing.py | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/crawler/data_access.py b/crawler/data_access.py index 83d07ca..7ed9be4 100644 --- a/crawler/data_access.py +++ b/crawler/data_access.py @@ -11,7 +11,6 @@ _DATA_DIR = pathlib.Path('data/rs/') class Listing(): identifier: int _cached: Dict = None - @staticmethod def get_all_listings() -> List['Listing']: @@ -187,6 +186,7 @@ class Listing(): def dict_nicely(self): return { + 'identifier': self.identifier, 'sqm_ocr': self.sqm_ocr, 'price': self.price, 'price_per_sqm': self.price_per_sqm, diff --git a/crawler/rec/routing.py b/crawler/rec/routing.py index 21fd656..390b61c 100644 --- a/crawler/rec/routing.py +++ b/crawler/rec/routing.py @@ -59,11 +59,17 @@ def extract_time(d, limit:int=2): duration_static = int(route['staticDuration'].strip('s')) steps = route['legs'][0]['steps'] + initial_walk_duration = 0 + used_transit = False duration_per_transit = defaultdict(lambda: 0) distance_per_transit = defaultdict(lambda: 0) number_of_transit_stops = 0 for step in steps: + if used_transit == False and step['travelMode'] == 'WALK': + initial_walk_duration += int(step['staticDuration'].strip('s')) + else: + used_transit = True duration_per_transit[step['travelMode']] += int(step['staticDuration'].strip('s')) distance_per_transit[step['travelMode']] += step.get('distanceMeters', 0) if step['travelMode'] == 'TRANSIT': @@ -73,6 +79,7 @@ def extract_time(d, limit:int=2): 'duration': duration, 'distance': distance, 'duration_static': duration_static, + 'initial_walk_duration': initial_walk_duration, 'duration_per_transit': dict(duration_per_transit), 'distance_per_transit': dict(distance_per_transit), 'number_of_transit_stops': number_of_transit_stops,