warn about and ignore files that don't parse as segments

pull/113/head
Christopher Usher 5 years ago
parent bf55b1c75e
commit 7d85eb7272

@ -11,6 +11,7 @@ import logging
import os import os
import shutil import shutil
import sys import sys
import warnings
from collections import namedtuple from collections import namedtuple
from contextlib import closing from contextlib import closing
@ -222,7 +223,13 @@ def best_segments_by_start(hour):
segment_paths.sort() segment_paths.sort()
# note we only parse them as we need them, which is unlikely to save us much time overall # note we only parse them as we need them, which is unlikely to save us much time overall
# but is easy enough to do, so we might as well. # but is easy enough to do, so we might as well.
parsed = (parse_segment_path(os.path.join(hour, name)) for name in segment_paths) # raise a warning for any files that don't parse as segments and ignore them
parsed = []
for name in segment_paths:
try:
parsed.append(parse_segment_path(os.path.join(hour, name)))
except ValueError as e:
warnings.warn(e)
for start_time, segments in itertools.groupby(parsed, key=lambda segment: segment.start): for start_time, segments in itertools.groupby(parsed, key=lambda segment: segment.start):
# ignore temp segments as they might go away by the time we want to use them # ignore temp segments as they might go away by the time we want to use them
segments = [segment for segment in segments if segment.type != "temp"] segments = [segment for segment in segments if segment.type != "temp"]

Loading…
Cancel
Save