in 04_streaming/transform/df03.py [0:0]
def as_utc(date, hhmm, tzone):
try:
if len(hhmm) > 0 and tzone is not None:
import datetime, pytz
loc_tz = pytz.timezone(tzone)
loc_dt = loc_tz.localize(datetime.datetime.strptime(date, '%Y-%m-%d'), is_dst=False)
# can't just parse hhmm because the data contains 2400 and the like ...
loc_dt += datetime.timedelta(hours=int(hhmm[:2]), minutes=int(hhmm[2:]))
utc_dt = loc_dt.astimezone(pytz.utc)
return utc_dt.strftime('%Y-%m-%d %H:%M:%S')
else:
return '' # empty string corresponds to canceled flights
except ValueError as e:
logging.exception('{} {} {}'.format(date, hhmm, tzone))
raise e