fixing timezone error c2 import
This commit is contained in:
@@ -905,7 +905,7 @@ def clean_df_stats_pl(datadf, workstrokesonly=True, ignorehr=True,
|
||||
return datadf
|
||||
|
||||
|
||||
def getpartofday(row, r):
|
||||
def getpartofday(row, r, startdatetime=None, timezone=''):
|
||||
workoutstartdatetime = row.rowdatetime
|
||||
try: # pragma: no cover
|
||||
latavg = row.df[' latitude'].mean()
|
||||
@@ -932,6 +932,8 @@ def getpartofday(row, r):
|
||||
workoutstartdatetime = row.rowdatetime
|
||||
|
||||
h = workoutstartdatetime.astimezone(pytz.timezone(timezone_str)).hour
|
||||
if startdatetime is not None:
|
||||
h = startdatetime.hour
|
||||
|
||||
if h < 12: # pragma: no cover
|
||||
return "Morning"
|
||||
@@ -1170,7 +1172,9 @@ parsers = {
|
||||
}
|
||||
|
||||
|
||||
def get_startdate_time_zone(r, row, startdatetime=None):
|
||||
def get_startdate_time_zone(r, row, startdatetime=None, timezone=''):
|
||||
if timezone != '':
|
||||
preserve_timezone = True
|
||||
if isinstance(startdatetime, str):
|
||||
try:
|
||||
startdatetime = pendulum.parse(startdatetime)
|
||||
@@ -1184,15 +1188,15 @@ def get_startdate_time_zone(r, row, startdatetime=None):
|
||||
timezone_str = 'Ect/GMT'
|
||||
elif startdatetime == '':
|
||||
startdatetime = row.rowdatetime
|
||||
else:
|
||||
startdatetime = row.rowdatetime
|
||||
#else:
|
||||
# startdatetime = row.rowdatetime
|
||||
|
||||
try:
|
||||
_ = startdatetime.tzinfo
|
||||
except AttributeError: # pragma: no cover
|
||||
startdatetime = row.rowdatetime
|
||||
|
||||
partofday = getpartofday(row, r)
|
||||
partofday = getpartofday(row, r, startdatetime=startdatetime, timezone=timezone)
|
||||
|
||||
if startdatetime.tzinfo is None or str(startdatetime.tzinfo) in ['tzutc()', 'Ect/GMT']:
|
||||
timezone_str = 'UTC'
|
||||
@@ -1200,6 +1204,8 @@ def get_startdate_time_zone(r, row, startdatetime=None):
|
||||
startdatetime = timezone.make_aware(startdatetime)
|
||||
except ValueError: # pragma: no cover
|
||||
pass
|
||||
except AttributeError:
|
||||
pass
|
||||
|
||||
try:
|
||||
latavg = row.df[' latitude'].mean()
|
||||
@@ -1232,8 +1238,23 @@ def get_startdate_time_zone(r, row, startdatetime=None):
|
||||
timezone_str = str(startdatetime.tzinfo)
|
||||
|
||||
try:
|
||||
startdatetime = startdatetime.astimezone(pytz.timezone(timezone_str))
|
||||
if not preserve_timezone:
|
||||
startdatetime = startdatetime.astimezone(pytz.timezone(timezone_str))
|
||||
except UnknownTimeZoneError:
|
||||
try:
|
||||
offset = timezone_str.strip("(TimeZone('')").split(":")
|
||||
hours = int(offset[0])
|
||||
minutes = int(offset[1])
|
||||
tz_offset = datetime.timedelta(hours=hours, minutes=minutes)
|
||||
tz = datetime.timezone(tz_offset)
|
||||
utc_offset = tz.utcoffset(datetime.utcnow()).total_seconds()
|
||||
for zone in pytz.all_timezones:
|
||||
if pytz.timezone(zone).utcoffset(datetime.utcnow()).total_seconds() == utc_offset:
|
||||
timezone_str = zone
|
||||
break
|
||||
except Exception as e:
|
||||
pass
|
||||
|
||||
startdatetime = startdatetime.astimezone(pytz.utc)
|
||||
|
||||
startdate = startdatetime.strftime('%Y-%m-%d')
|
||||
|
||||
Reference in New Issue
Block a user