Allow 3d categories
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user