in decisionai_plugin/common/util/timeutil.py [0:0]
def get_time_offset(timestamp, graninfo, offset):
(gran_str, custom_in_seconds) = graninfo
if gran_str == 'Daily':
return timestamp + datetime.timedelta(days=offset)
elif gran_str == 'Weekly':
return timestamp + datetime.timedelta(weeks=offset)
elif gran_str == 'Monthly':
return timestamp + dateutil.relativedelta.relativedelta(months=offset)
elif gran_str == 'Yearly':
return timestamp + dateutil.relativedelta.relativedelta(years=offset)
elif gran_str == 'Hourly':
return timestamp + datetime.timedelta(hours=offset)
elif gran_str == 'Minutely':
return timestamp + datetime.timedelta(minutes=offset)
elif gran_str == 'Secondly':
return timestamp + datetime.timedelta(seconds=offset)
elif gran_str == 'Custom':
return timestamp + datetime.timedelta(seconds=custom_in_seconds * offset)
else:
raise Exception('Granularity not supported: {}|{}'.format(*graninfo))