23 lines
900 B
Python
23 lines
900 B
Python
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
|