Allow 3d categories

This commit is contained in:
Ruud
2014-03-22 22:00:26 +01:00
parent 1cabf64993
commit 2ccdc8ffdc
13 changed files with 26 additions and 22 deletions
@@ -244,10 +244,16 @@ class YarrProvider(Provider):
return 0
def getCatId(self, identifier):
def getCatId(self, quality = None):
if not quality: quality = {}
identifier = quality.get('identifier')
want_3d = False
if quality.get('custom'):
want_3d = quality['custom'].get('3d')
for ids, qualities in self.cat_ids:
if identifier in qualities:
if identifier in qualities or (want_3d and '3d' in qualities):
return ids
if self.cat_backup_id:
@@ -42,7 +42,7 @@ class Base(NZBProvider, RSS):
q = '%s %s' % (title, movie['info']['year'])
params = tryUrlencode({
'search': q,
'catid': ','.join([str(x) for x in self.getCatId(quality['identifier'])]),
'catid': ','.join([str(x) for x in self.getCatId(quality)]),
'user': self.conf('username', default = ''),
'api': self.conf('api_key', default = ''),
})
@@ -36,7 +36,7 @@ class Base(TorrentProvider):
page = 0
total_pages = 1
cats = self.getCatId(quality['identifier'])
cats = self.getCatId(quality)
while page < total_pages:
@@ -25,14 +25,14 @@ class Base(TorrentProvider):
cat_backup_id = None
def buildUrl(self, title, media, quality):
return self._buildUrl(title.replace(':', ''), quality['identifier'])
return self._buildUrl(title.replace(':', ''), quality)
def _buildUrl(self, query, quality_identifier):
def _buildUrl(self, query, quality):
cat_ids = self.getCatId(quality_identifier)
cat_ids = self.getCatId(quality)
if not cat_ids:
log.warning('Unable to find category ids for identifier "%s"', quality_identifier)
log.warning('Unable to find category ids for identifier "%s"', quality.get('identifier'))
return None
return self.urls['search'] % ("&".join(("l%d=" % x) for x in cat_ids), tryUrlencode(query).replace('%', '%%'))
@@ -42,7 +42,7 @@ class Base(TorrentMagnetProvider):
if data:
cat_ids = self.getCatId(quality['identifier'])
cat_ids = self.getCatId(quality)
table_order = ['name', 'size', None, 'age', 'seeds', 'leechers']
try:
@@ -39,7 +39,7 @@ class Base(TorrentMagnetProvider):
page = 0
total_pages = 1
cats = self.getCatId(quality['identifier'])
cats = self.getCatId(quality)
base_search_url = self.urls['search'] % self.getDomain()
@@ -36,7 +36,7 @@ class Base(TorrentProvider):
def _searchOnTitle(self, title, movie, quality, results):
url = self.urls['search'] % (tryUrlencode('%s %s' % (title.replace(':', ''), movie['info']['year'])), self.getCatId(quality['identifier'])[0])
url = self.urls['search'] % (tryUrlencode('%s %s' % (title.replace(':', ''), movie['info']['year'])), self.getCatId(quality)[0])
data = self.getHTMLData(url)
if data:
@@ -11,8 +11,8 @@ autoload = 'Bitsoup'
class Bitsoup(MovieProvider, Base):
cat_ids = [
([41], ['720p', '1080p']),
([17], ['3d']),
([41], ['720p', '1080p']),
([20], ['dvdr']),
([19], ['brrip', 'dvdrip']),
]
@@ -24,6 +24,6 @@ class Bitsoup(MovieProvider, Base):
fireEvent('library.query', media, include_year = False, single = True),
media['info']['year']
),
'cat': self.getCatId(quality['identifier'])[0],
'cat': self.getCatId(quality)[0],
})
return query
@@ -10,8 +10,8 @@ autoload = 'IPTorrents'
class IPTorrents(MovieProvider, Base):
cat_ids = [
([48], ['720p', '1080p', 'bd50']),
([87], ['3d']),
([48], ['720p', '1080p', 'bd50']),
([72], ['cam', 'ts', 'tc', 'r5', 'scr']),
([7], ['dvdrip', 'brrip']),
([6], ['dvdr']),
@@ -20,4 +20,4 @@ class IPTorrents(MovieProvider, Base):
def buildUrl(self, title, media, quality):
query = '%s %s' % (title.replace(':', ''), media['info']['year'])
return self._buildUrl(query, quality['identifier'])
return self._buildUrl(query, quality)
@@ -18,10 +18,8 @@ class SceneAccess(MovieProvider, Base):
]
def buildUrl(self, media, quality):
url = self.urls['search'] % (
self.getCatId(quality['identifier'])[0],
self.getCatId(quality['identifier'])[0]
)
cat_id = self.getCatId(quality)[0]
url = self.urls['search'] % (cat_id, cat_id)
arguments = tryUrlencode({
'search': fireEvent('library.query', media, single = True),
@@ -12,8 +12,8 @@ autoload = 'ThePirateBay'
class ThePirateBay(MovieProvider, Base):
cat_ids = [
([207], ['720p', '1080p']),
([209], ['3d']),
([207], ['720p', '1080p']),
([201], ['cam', 'ts', 'dvdrip', 'tc', 'r5', 'scr']),
([201, 207], ['brrip']),
([202], ['dvdr'])
@@ -24,5 +24,5 @@ class TorrentLeech(MovieProvider, Base):
def buildUrl(self, media, quality):
return (
tryUrlencode(fireEvent('library.query', media, single = True)),
self.getCatId(quality['identifier'])[0]
self.getCatId(quality)[0]
)
@@ -31,6 +31,6 @@ class TorrentShack(MovieProvider, Base):
def buildUrl(self, media, quality):
query = (tryUrlencode(fireEvent('library.query', media, single = True)),
self.getCatId(quality['identifier'])[0],
self.getCatId(quality)[0],
self.getSceneOnly())
return query