diff --git a/rowers/dataprep.py b/rowers/dataprep.py index 761feab7..ae3f7345 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -1848,7 +1848,7 @@ def get_startdate_time_zone(r,row,startdatetime=None): partofday = getpartofday(row,r) - if startdatetime.tzinfo is None: + if startdatetime.tzinfo is None or str(startdatetime.tzinfo) in ['tzutc()','Ect/GMT']: timezone_str = 'UTC' try: startdatetime = timezone.make_aware(startdatetime) @@ -1860,15 +1860,18 @@ def get_startdate_time_zone(r,row,startdatetime=None): lonavg = row.df[' longitude'].mean() tf = TimezoneFinder() - try: - timezone_str = tf.timezone_at(lng=lonavg, lat=latavg) - except (ValueError,OverflowError): # pragma: no cover - timezone_str = 'UTC' - if timezone_str is None: # pragma: no cover - timezone_str = tf.closest_timezone_at(lng=lonavg, + if row.df[' latitude'].std() != 0: + try: + timezone_str = tf.timezone_at(lng=lonavg, lat=latavg) + except (ValueError,OverflowError): # pragma: no cover + timezone_str = 'UTC' + if timezone_str is None: # pragma: no cover + timezone_str = tf.closest_timezone_at(lng=lonavg, lat=latavg) if timezone_str is None: # pragma: no cover timezone_str = r.defaulttimezone + else: + timezone_str = r.defaulttimezone try: startdatetime = pytz.timezone(timezone_str).localize( row.rowdatetime @@ -1878,6 +1881,7 @@ def get_startdate_time_zone(r,row,startdatetime=None): pytz.timezone(timezone_str) ) except KeyError: # pragma: no cover + print('mies') timezone_str = r.defaulttimezone else: timezone_str = str(startdatetime.tzinfo) @@ -1886,7 +1890,6 @@ def get_startdate_time_zone(r,row,startdatetime=None): starttime = startdatetime.strftime('%H:%M:%S') - return startdatetime,startdate,starttime,timezone_str,partofday