From: Mark Wooding Date: Mon, 14 Mar 2022 14:30:12 +0000 (+0000) Subject: mkm3u: Report missing seasons and episodes properly. X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/epls/commitdiff_plain/0b8c47731afef46be8073474fb0d538d11eae6e0 mkm3u: Report missing seasons and episodes properly. --- diff --git a/mkm3u b/mkm3u index 42f8413..eff5d96 100755 --- a/mkm3u +++ b/mkm3u @@ -422,14 +422,27 @@ def parse_list(fn): if i is None: check(ads, "no title, but no audio directory") check(season.implicitp, "audio source, but explicit season") - src = ads.episodes[ep_i] + try: src = ads.episodes[ep_i] + except KeyError: + raise ExpectedError("episode %d not found in audio dir `%s'" % + ep_i, ads.dir) elif iso: src = iso else: check(vdname in vds, "title, but no iso or video directory") - src = vds[vdname].seasons[season.i].episodes[ep_i] + try: vdir = vds[vdname] + except KeyError: + raise ExpectedError("video dir label `%s' not set" % vdname) + try: s = vdir.seasons[season.i] + except KeyError: + raise ExpectedError("season %d not found in video dir `%s'" % + (season.i, vdir.dir)) + try: src = s.episodes[ep_i] + except KeyError: + raise ExpectedError("episode %d.%d not found in video dir `%s'" % + (season.i, ep_i, vdir.dir)) episode = season.add_episode(fake_epi, neps, title, src, i) chapter = None