- suffix = "#%d:%d-%d:%d" % (title, chapter, title, chapter)
- if chapter is not None: key, set = (title, chapter), me.used_chapters
- else: key, set = title, me.used_titles
- if key in set:
- if title == "-":
- raise ExpectedError("`%s' already used" % me.fn)
- elif chapter is None:
- raise ExpectedError("`%s' title %d already used" % (me.fn, title))
- else:
- raise ExpectedError("`%s' title %d chapter %d already used" %
- (me.fn, title, chapter))
- if chapter is not None: me.used_chapters.add((title, chapter))
+ suffix = "#%d:%d-%d:%d" % (title, start_chapter, title, end_chapter - 1)
+ if end_chapter is not None:
+ keys = [(title, ch) for ch in range(start_chapter, end_chapter)]
+ set = me.used_chapters
+ else:
+ keys, set = [title], me.used_titles
+ for k in keys:
+ if k in set:
+ if title == "-":
+ raise ExpectedError("`%s' already used" % me.fn)
+ elif end_chapter is None:
+ raise ExpectedError("`%s' title %d already used" % (me.fn, title))
+ else:
+ raise ExpectedError("`%s' title %d chapter %d already used" %
+ (me.fn, title, k[1]))
+ if end_chapter is not None:
+ for ch in range(start_chapter, end_chapter):
+ me.used_chapters.add((title, ch))