From 1fc62479be4143ee92cbd6454b553bbb8c57ebda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kevin=20Midb=C3=B8e?= Date: Sun, 16 Sep 2018 23:46:39 +0200 Subject: [PATCH] Conflict resolved by re-adding release_group --- src/video.py | 145 +++------------------------------------------------ 1 file changed, 7 insertions(+), 138 deletions(-) diff --git a/src/video.py b/src/video.py index fb9a918..3c46eda 100644 --- a/src/video.py +++ b/src/video.py @@ -23,17 +23,17 @@ class Video(object): Represent a video, existing or not. :param str name: name or path of the video. :param str format: format of the video (HDTV, WEB-DL, BluRay, ...). - :param str home: home is the optimal parent folder. + :param str release_group: release group of the video. :param str resolution: resolution of the video stream (480p, 720p, 1080p or 1080i, 4K). :param str video_codec: codec of the video stream. :param str audio_codec: codec of the main audio stream. - :param str imdb_id: IMDb id of the video. + :param str home: optimal parent folder. :param dict name_hash: hashes of the video file by provider names. :param int size: size of the video file in bytes. :param set subtitles: existing subtitle languages. """ - def __init__(self, name, hash=None, size=None, format=None, home=None, resolution=None, video_codec=None, audio_codec=None, - imdb_id=None, subtitles=None, embeded_subtitles=None): + def __init__(self, name, hash=None, size=None, format=None, release_group=None, resolution=None, video_codec=None, audio_codec=None, + home=None, subtitles=None, embeded_subtitles=None): #: Name or path of the video self.name = name @@ -58,8 +58,8 @@ class Video(object): #: Codec of the main audio stream self.audio_codec = audio_codec - #: IMDb id of the video - self.imdb_id = imdb_id + #: optimal home path; parent folder. + self.home = home #: Existing subtitle languages self.subtitles = subtitles or set() @@ -121,7 +121,7 @@ class Episode(Video): :param \*\*kwargs: additional parameters for the :class:`Video` constructor. """ def __init__(self, name, series, season, episode, title=None, year=None, original_series=True, tvdb_id=None, - series_tvdb_id=None, series_imdb_id=None, **kwargs): + series_tvdb_id=None, **kwargs): super(Episode, self).__init__(name, **kwargs) #: Series of the episode @@ -148,9 +148,6 @@ class Episode(Video): #: TVDB id of the series self.series_tvdb_id = series_tvdb_id - #: IMDb id of the series - self.series_imdb_id = series_imdb_id - @classmethod def fromguess(cls, name, guess): if guess['type'] != 'episode': @@ -212,131 +209,3 @@ class Movie(Video): return '<%s [%r]>' % (self.__class__.__name__, self.title) return '<%s [%r, %d]>' % (self.__class__.__name__, self.title, self.year) - -''' -class Episode(): - """Episode :class:`Video`. - :param str series: series of the episode. - :param int season: season number of the episode. - :param int episode: episode number of the episode. - :param str title: title of the episode. - :param int year: year of the series. - :param bool original_series: whether the series is the first with this name. - :param int tvdb_id: TVDB id of the episode. - :param \*\*kwargs: additional parameters for the :class:`Video` constructor. - """ - def __init__(self, name, parent_path, series, season, episode, year=None, original_series=True, tvdb_id=None, - series_tvdb_id=None, series_imdb_id=None, release_group=None, video_codec=None, container=None, - format=None, screen_size=None, **kwargs): - super(Episode, self).__init__() - - self.name = name - - self.parent_path = parent_path - - #: Series of the episode - self.series = series - - #: Season number of the episode - self.season = season - - #: Episode number of the episode - self.episode = episode - - #: Year of series - self.year = year - - #: The series is the first with this name - self.original_series = original_series - - #: TVDB id of the episode - self.tvdb_id = tvdb_id - - #: TVDB id of the series - self.series_tvdb_id = series_tvdb_id - - #: IMDb id of the series - self.series_imdb_id = series_imdb_id - - # The release group of the episode - self.release_group = release_group - - # The video vodec of the series - self.video_codec = video_codec - - # The Video container of the episode - self.container = container - - # The Video format of the episode - self.format = format - - # The Video screen_size of the episode - self.screen_size = screen_size - - @classmethod - def fromguess(cls, name, parent_path, guess): - if guess['type'] != 'episode': - raise ValueError('The guess must be an episode guess') - - if 'title' not in guess or 'episode' not in guess: - raise ValueError('Insufficient data to process the guess') - - return cls(name, parent_path, guess['title'], guess.get('season', 1), guess['episode'], - year=guess.get('year'), original_series='year' not in guess, release_group=guess.get('release_group'), - video_codec=guess.get('video_codec'), audio_codec=guess.get('audio_codec'), container=guess.get('container'), - format=guess.get('format'), screen_size=guess.get('screen_size')) - - @classmethod - def fromname(cls, name): - return cls.fromguess(name, guessit(name, {'type': 'episode'})) - - def __hash__(self): - return hashlib.md5("b'{}'".format(str(self.series) + str(self.season) + str(self.episode)).encode()).hexdigest() - - # THE EP NUMBER IS CONVERTED TO STRING AS A QUICK FIX FOR MULTIPLE NUMBERS IN ONE - def __repr__(self): - if self.year is None: - return '<%s [%r, %sx%s]>' % (self.__class__.__name__, self.series, self.season, str(self.episode)) - - return '<%s [%r, %d, %sx%s]>' % (self.__class__.__name__, self.series, self.year, self.season, str(self.episode)) - - - -class Movie(): - """Movie :class:`Video`. - :param str title: title of the movie. - :param int year: year of the movie. - :param \*\*kwargs: additional parameters for the :class:`Video` constructor. - """ - def __init__(self, name, title, year=None, format=None, **kwargs): - super(Movie, self).__init__() - - #: Title of the movie - self.title = title - - #: Year of the movie - self.year = year - self.format = format - - @classmethod - def fromguess(cls, name, guess): - if guess['type'] != 'movie': - raise ValueError('The guess must be a movie guess') - - if 'title' not in guess: - raise ValueError('Insufficient data to process the guess') - - return cls(name, guess['title'], format=guess.get('format'), release_group=guess.get('release_group'), - resolution=guess.get('screen_size'), video_codec=guess.get('video_codec'), - audio_codec=guess.get('audio_codec'), year=guess.get('year')) - - @classmethod - def fromname(cls, name): - return cls.fromguess(name, guessit(name, {'type': 'movie'})) - - def __repr__(self): - if self.year is None: - return '<%s [%r]>' % (self.__class__.__name__, self.title) - - return '<%s [%r, %d]>' % (self.__class__.__name__, self.title, self.year) -'''