def set_time_range(self, time_range):
# allow a single time to be passed in place of a range
if type(time_range) not in [tuple, list]:
time_range = (time_range, time_range)
# translate the times to unix timestamps
def parse_time(time):
if type(time) in [int, float, str]:
time = int(time)
# realistic timestamp range
if 10**8 < time < 10**13:
return time
# otherwise archive.org timestamp format (possibly truncated)
time_string = str(time)[::-1].zfill(14)[::-1]
time = datetime.strptime(time_string, self.timestamp_format)
time = time.replace(tzinfo=timezone.utc)
return time.timestamp()
self.time_range = [parse_time(time) for time in time_range]
评论列表
文章目录