import regex as re from watfag.parsers.generic.parsers import DataParser from watfag.parsers.movie import MovieParser, MovieRelease from watfag.parsers.movie.title_year import edition_regex class EditionParser(DataParser, MovieParser): def __init__(self, movie: MovieRelease): super().__init__(movie) self.priority = 90 """Parses the edition from the unparsed text.""" def parse(self) -> bool: if self.release.edition is None: if match := re.compile(edition_regex).search(self.release.metadata_text): self.release.edition = match.group(1).strip() self.release.metadata_text = self.release.metadata_text[:match.span()[0]] + self.release.metadata_text[match.span()[1]:] self.release.metadata_text = re.sub(r"\s+", " ", self.release.metadata_text).strip() # Clean up extra spaces return True