From 058d241c732a38318b361483b056f1d0d6733933 Mon Sep 17 00:00:00 2001 From: Dean Gardiner Date: Thu, 7 Aug 2014 17:28:22 +1200 Subject: [PATCH] Moved "quality.single" to "quality/main", created "quality.get" event --- couchpotato/core/media/_base/quality/base.py | 26 ++++++++------------------ couchpotato/core/media/_base/quality/main.py | 17 ++++++++++++++++- 2 files changed, 24 insertions(+), 19 deletions(-) diff --git a/couchpotato/core/media/_base/quality/base.py b/couchpotato/core/media/_base/quality/base.py index 90d079e..74caa64 100755 --- a/couchpotato/core/media/_base/quality/base.py +++ b/couchpotato/core/media/_base/quality/base.py @@ -28,9 +28,11 @@ class QualityBase(Plugin): def __init__(self): addEvent('quality.pre_releases', self.preReleases) + + addEvent('quality.get', self.get) addEvent('quality.all', self.all) addEvent('quality.reset_cache', self.resetCache) - addEvent('quality.single', self.single) + addEvent('quality.fill', self.fill) addEvent('quality.isfinish', self.isFinish) addEvent('quality.ishigher', self.isHigher) @@ -48,6 +50,11 @@ class QualityBase(Plugin): return self.pre_releases + def get(self, identifier): + for q in self.qualities: + if identifier == q.get('identifier'): + return q + def all(self, types = None): if types and self.type not in types: return @@ -71,23 +78,6 @@ class QualityBase(Plugin): def resetCache(self): self.cached_qualities = None - def single(self, identifier = ''): - - db = get_db() - quality_dict = {} - - quality = db.get('quality', identifier, with_doc = True)['doc'] - if quality: - quality_dict = mergeDicts(self.getQuality(quality['identifier']), quality) - - return quality_dict - - def getQuality(self, identifier): - - for q in self.qualities: - if identifier == q.get('identifier'): - return q - def fill(self): try: diff --git a/couchpotato/core/media/_base/quality/main.py b/couchpotato/core/media/_base/quality/main.py index 402d102..23a8c12 100755 --- a/couchpotato/core/media/_base/quality/main.py +++ b/couchpotato/core/media/_base/quality/main.py @@ -2,7 +2,8 @@ import traceback from couchpotato import fireEvent, get_db, tryInt, CPLog from couchpotato.api import addApiView -from couchpotato.core.helpers.variable import splitString +from couchpotato.core.event import addEvent +from couchpotato.core.helpers.variable import splitString, mergeDicts from couchpotato.core.media._base.quality.index import QualityIndex from couchpotato.core.plugins.base import Plugin @@ -15,6 +16,8 @@ class Quality(Plugin): } def __init__(self): + addEvent('quality.single', self.single) + addApiView('quality.list', self.allView, docs = { 'desc': 'List all available qualities', 'params': { @@ -28,6 +31,18 @@ class Quality(Plugin): addApiView('quality.size.save', self.saveSize) + def single(self, identifier = ''): + db = get_db() + quality = db.get('quality', identifier, with_doc = True)['doc'] + + if quality: + return mergeDicts( + fireEvent('quality.get', quality['identifier'], single = True), + quality + ) + + return {} + def allView(self, **kwargs): return {