diff --git a/couchpotato/core/media/show/searcher/main.py b/couchpotato/core/media/show/searcher/main.py index c4aca7b..1364721 100644 --- a/couchpotato/core/media/show/searcher/main.py +++ b/couchpotato/core/media/show/searcher/main.py @@ -19,8 +19,8 @@ class ShowSearcher(Plugin): # TODO come back to this later, think this could be handled better quality_map = { - 'webdl_1080p': {'resolution': ['1080p'], 'source': ['webdl']}, - 'webdl_720p': {'resolution': ['720p'], 'source': ['webdl']}, + 'webdl_1080p': {'resolution': ['1080p'], 'source': ['webdl', ['web', 'dl']]}, + 'webdl_720p': {'resolution': ['720p'], 'source': ['webdl', ['web', 'dl']]}, 'hdtv_720p': {'resolution': ['720p'], 'source': ['hdtv']}, 'hdtv_sd': {'resolution': ['480p', None], 'source': ['hdtv']}, diff --git a/couchpotato/core/plugins/matcher/main.py b/couchpotato/core/plugins/matcher/main.py index 777f91a..2260f9f 100644 --- a/couchpotato/core/plugins/matcher/main.py +++ b/couchpotato/core/plugins/matcher/main.py @@ -40,9 +40,19 @@ class Matcher(Plugin): for match in chain.info[group]: for ck, cv in match.items(): - if ck in tags and simplifyString(cv) in tags[ck]: + if ck not in tags: + continue + + if isinstance(cv, basestring) and simplifyString(cv) in tags[ck]: found_tags.append(ck) + elif isinstance(cv, list): + simple_list = [simplifyString(x) for x in cv] + + if simple_list in tags[ck]: + found_tags.append(ck) + + log.debug('tags found: %s, required: %s' % (found_tags, tags.keys())) if set(tags.keys()) == set(found_tags): return True