From 0ac862ecfb2c662d58517647f2a7438db7762031 Mon Sep 17 00:00:00 2001 From: Maximilian Giller Date: Wed, 19 Feb 2025 06:45:06 +0100 Subject: [PATCH] Improved handling of years --- src/dvd-compare-python/dvd_compare.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/dvd-compare-python/dvd_compare.py b/src/dvd-compare-python/dvd_compare.py index 50c6c30..f3ebe24 100644 --- a/src/dvd-compare-python/dvd_compare.py +++ b/src/dvd-compare-python/dvd_compare.py @@ -31,7 +31,7 @@ class DcSearchResult: """Description, listing available publications to label, as returned by search.""" def __repr__(self): - return f"{self.label}\n{self.tagline}\n{self.year} | {' | '.join(self.formats)}\n{' | '.join(self.titles)}\n[{self.fid} | {self.url}]\n{self.description}\n" + return f"{self.label}\n{self.tagline}\n{self.year} | {self.years} | {' | '.join(self.formats)}\n{' | '.join(self.titles)}\n[{self.fid} | {self.url}]\n{self.description}\n" class DvdCompare: @@ -63,7 +63,7 @@ class DvdCompare: result.label.replace("–", "-").replace("\x96–", "-").split(" AKA ") ): # Iterate over alternative titles and collect information part_matches = re.match( - r"^(?P[^()\n]*[^()\s])(?:\s\((?P<prefix>The|A|An)\)(?P<suffix>[^()\n]+)?)?(?P<formats> ?(?:\([^()]*[a-z]+[^()]*\)\s?)+)?(?P<years>(?: ?\((?P<range>(?P<year>[0-9]{4})(?:[-,/][0-9]{1,2}(?:[0-9]{2})?)?)\)))?", + r"^(?P<title>[^()\n]*[^()\s])(?:\s\((?P<prefix>The|A|An)\)(?P<suffix>[^()\n]+)?)?(?P<formats> ?(?:\([^()]*[a-z]+[^()]*\)\s?)+)?(?: ?\((?P<years>(?P<year>[0-9]{4})(?:[-,/][0-9]{1,2}(?:[0-9]{2})?)?)\))?", part, re.IGNORECASE, )