From 8c523e8c657e2b7b1c189079dbd285759bb6748c Mon Sep 17 00:00:00 2001 From: Aliaksandr Shumski Date: Fri, 9 Aug 2024 18:25:07 +0300 Subject: [PATCH] 1.6.3 parsing timezones --- ReferenceDataApp/funcs.py | 5 ++++- ReferenceDataApp/models.py | 8 ++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/ReferenceDataApp/funcs.py b/ReferenceDataApp/funcs.py index b779620..a565786 100644 --- a/ReferenceDataApp/funcs.py +++ b/ReferenceDataApp/funcs.py @@ -62,7 +62,8 @@ def create_airports_by_airportsList(airportsList, city=None): if airport.geo_lat and airport.geo_lon and not airport.timezone: airport.timezone = tzf.timezone_at( lng=float(airport.geo_lon), lat=float(airport.geo_lat)) - airport.save(update_fields=['timezone']) + airport.modifiedDT = datetime.now() + airport.save() print(f'airport {airport.international_name} - {airport.timezone}') except Airport.DoesNotExist: print(f' - - {airport_Dict["iata"]} не найден в БД > добавляем') @@ -89,6 +90,8 @@ def create_airports_by_airportsList(airportsList, city=None): 'iata_code': airport_Dict['iata'], 'icao_code': airport_Dict['icao'], + + 'modifiedDT': datetime.now(), } if airport_Dict['name:ru']: diff --git a/ReferenceDataApp/models.py b/ReferenceDataApp/models.py index 50944f4..b8b322a 100644 --- a/ReferenceDataApp/models.py +++ b/ReferenceDataApp/models.py @@ -60,7 +60,15 @@ class City(BaseModel): else: return f'{self.id}' + def get_n_save_timezone(self): + from ReferenceDataApp.funcs import tzf + self.timezone = tzf.timezone_at(lng=self.geo_lon, lat=self.geo_lat) + self.save(update_fields=['timezone']) + return self.timezone + def get_current_datetime(self): + if not self.timezone: + self.timezone = self.get_n_save_timezone() return datetime.now(tz=pytz.timezone(self.timezone)) def get_country_n_city_str(self):