Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/flexget/utils/qualities.py b/flexget/utils/qualities.py
- index 815d429..d5fc4a9 100644
- --- a/flexget/utils/qualities.py
- +++ b/flexget/utils/qualities.py
- @@ -11,7 +11,7 @@ log = logging.getLogger('utils.qualities')
- class Quality(object):
- - def __init__(self, value, name, all_of=None, none_of=None):
- + def __init__(self, value, name, all_of=None):
- """
- :param int value:
- numerical value for quality, used for determining order
- @@ -20,8 +20,6 @@ class Quality(object):
- :param list all_of:
- list of regexps that all need to match when testing
- whether or not given text matches this quality
- - :param list none_of:
- - list of regexps that cannot match to this quality
- """
- self.value = value
- self.name = name
- @@ -33,9 +31,6 @@ class Quality(object):
- # compile regexps
- for r in all_of:
- self.regexps.append(re.compile('(?<![^\W_])' + r + '(?![^\W_])', re.IGNORECASE))
- - if none_of:
- - for r in none_of:
- - self.not_regexps.append(re.compile('(?<![^\W_])' + r + '(?![^\W_])', re.IGNORECASE))
- def matches(self, text):
- """Test if quality matches to text.
- @@ -116,27 +111,27 @@ re_bluray = '(?:b[dr][\W_]?rip|bluray(?:[\W_]?rip)?)'
- re_10bit = '(10.?bit|hi10p)'
- # TODO: this should be marked as private (_qualities), not sure if it used from other places though
- -qualities = [Quality(1200, '1080p bluray 10bit', [re_1080p, re_bluray, re_10bit], none_of=[re_region]),
- - Quality(1100, '1080p bluray', [re_1080p, re_bluray], none_of=[re_region]),
- +qualities = [Quality(1200, '1080p bluray 10bit', [re_1080p, re_bluray, re_10bit]),
- + Quality(1100, '1080p bluray', [re_1080p, re_bluray]),
- Quality(1000, '1080p web-dl', [re_1080p, re_webdl]),
- - Quality(850, '1080p 10bit', [re_1080p, re_10bit], none_of=[re_bluray, re_region]),
- - Quality(800, '1080p', [re_1080p], none_of=[re_bluray, re_region]),
- + Quality(850, '1080p 10bit', [re_1080p, re_10bit]),
- + Quality(800, '1080p', [re_1080p]),
- Quality(750, '1080i'),
- - Quality(670, '720p bluray 10bit', [re_720p, re_bluray, re_10bit], none_of=[re_region]),
- - Quality(650, '720p bluray', [re_720p, re_bluray], none_of=[re_region, re_10bit]),
- + Quality(670, '720p bluray 10bit', [re_720p, re_bluray, re_10bit]),
- + Quality(650, '720p bluray', [re_720p, re_bluray]),
- Quality(600, '720p web-dl', [re_720p, re_webdl]),
- - Quality(520, '720p 10bit', [re_720p, re_10bit], none_of=[re_bluray, re_region]),
- - Quality(500, '720p', [re_720p], none_of=[re_bluray, re_region, re_10bit]),
- + Quality(520, '720p 10bit', [re_720p, re_10bit]),
- + Quality(500, '720p', [re_720p]),
- Quality(450, '720i'),
- Quality(430, '1080p bluray rc', [re_1080p, re_bluray, re_region]),
- Quality(420, '720p bluray rc', [re_720p, re_bluray, re_region]),
- Quality(400, 'hr'),
- - Quality(380, 'bdrip', [re_bluray], none_of=[re_region]),
- - Quality(350, 'dvdrip', ['dvd(?:[\W_]?rip)?'], none_of=[re_region]),
- + Quality(380, 'bdrip', [re_bluray]),
- + Quality(350, 'dvdrip', ['dvd(?:[\W_]?rip)?']),
- Quality(320, 'web-dl', [re_webdl]),
- Quality(315, '576p', ['576p?']),
- Quality(310, '480p 10bit', ['480p?', re_10bit]),
- - Quality(300, '480p', ['480p?'], none_of=[re_10bit]),
- + Quality(300, '480p', ['480p?']),
- Quality(290, '368p', ['368p?']),
- Quality(280, '360p'), # I don't think we want to make trailing p optional here (ie. xbox 360)
- Quality(270, 'hdtv', ['hdtv(?:[\W_]?rip)?']),
- @@ -152,6 +147,13 @@ qualities = [Quality(1200, '1080p bluray 10bit', [re_1080p, re_bluray, re_10bit]
- Quality(20, 'cam'),
- Quality(10, 'workprint')]
- +# Higher qualities should exclude the patterns for lower qualities.
- +for idx, quality in enumerate(qualities[:-1]):
- + for r in [r for r in (vars(quality)['regexps'] for quality in qualities[idx:])]:
- + if r in vars(quality)['regexps']:
- + continue
- + vars(quality)['not_regexps'].append(r);
- +
- registry = dict([(qual.name.lower(), qual) for qual in qualities])
- registry['unknown'] = UNKNOWN
Add Comment
Please, Sign In to add comment