def _order_downtime_by_resource(raw_downtime_intervals):
''' Puts the raw downtime interval sets into a dictionary by resource
'''
downtime_intervals = {}
for interval in raw_downtime_intervals:
resource = '.'.join([interval['telescope'], interval['observatory'], interval['site']])
if resource not in downtime_intervals:
downtime_intervals[resource] = []
start = datetime.strptime(interval['start'], DOWNTIME_DATE_FORMAT).replace(tzinfo=timezone.utc)
end = datetime.strptime(interval['end'], DOWNTIME_DATE_FORMAT).replace(tzinfo=timezone.utc)
downtime_intervals[resource].append({'type': 'start', 'time': start})
downtime_intervals[resource].append({'type': 'end', 'time': end})
for resource in downtime_intervals:
downtime_intervals[resource] = Intervals(downtime_intervals[resource])
return downtime_intervals
评论列表
文章目录