Spring cleanup

This commit is contained in:
Ruud committed 2014-03-29 23:44:14 +01:00
1 parent 83c5d701b3
commit 99e77e409a
98 files changed
+469 -489

No files matched your search

@@ -1,5 +1,6 @@
from .main import Library
def autoload():
return Library()
@@ -1,5 +1,6 @@
from .main import Matcher
def autoload():
return Matcher()
+3 -5
View File
@@ -222,7 +222,6 @@ class MediaPlugin(MediaBase):
del filter_by['media_status']
del filter_by['release_status']
# Filter by combining ids
for x in filter_by:
media_ids = [n for n in media_ids if n in filter_by[x]]
@@ -281,7 +280,7 @@ class MediaPlugin(MediaBase):
for media_type in fireEvent('media.types', merge = True):
def tempList(*args, **kwargs):
return self.listView(types = media_type, *args, **kwargs)
return self.listView(types = media_type, **kwargs)
addApiView('%s.list' % media_type, tempList)
def availableChars(self, types = None, status = None, release_status = None):
@@ -350,7 +349,7 @@ class MediaPlugin(MediaBase):
for media_type in fireEvent('media.types', merge = True):
def tempChar(*args, **kwargs):
return self.charView(types = media_type, *args, **kwargs)
return self.charView(types = media_type, **kwargs)
addApiView('%s.available_chars' % media_type, tempChar)
def delete(self, media_id, delete_from = None):
@@ -382,9 +381,8 @@ class MediaPlugin(MediaBase):
if release.get('status') == 'done':
db.delete(release)
total_deleted += 1
new_media_status = 'active'
if total_releases == total_deleted:
if total_releases == total_deleted and media['status'] != 'active':
db.delete(media)
deleted = True
elif new_media_status:
@@ -18,7 +18,7 @@ class Base(NZBProvider):
'search': 'https://www.binsearch.info/index.php?%s',
}
http_time_between_calls = 4 # Seconds
http_time_between_calls = 4 # Seconds
def _search(self, media, quality, results):
@@ -28,7 +28,7 @@ class Base(NZBProvider):
try:
html = BeautifulSoup(data)
main_table = html.find('table', attrs = {'id':'r2'})
main_table = html.find('table', attrs = {'id': 'r2'})
if not main_table:
return
@@ -36,11 +36,11 @@ class Base(NZBProvider):
items = main_table.find_all('tr')
for row in items:
title = row.find('span', attrs = {'class':'s'})
title = row.find('span', attrs = {'class': 's'})
if not title: continue
nzb_id = row.find('input', attrs = {'type':'checkbox'})['name']
nzb_id = row.find('input', attrs = {'type': 'checkbox'})['name']
info = row.find('span', attrs = {'class':'d'})
size_match = re.search('size:.(?P<size>[0-9\.]+.[GMB]+)', info.text)
@@ -18,7 +18,7 @@ class Base(NZBProvider, RSS):
'search': 'https://www.nzbclub.com/nzbfeeds.aspx?%s',
}
http_time_between_calls = 4 #seconds
http_time_between_calls = 4 # seconds
def _search(self, media, quality, results):
@@ -55,7 +55,7 @@ class Base(NZBProvider, RSS):
def getMoreInfo(self, item):
full_description = self.getCache('nzbclub.%s' % item['id'], item['detail_url'], cache_timeout = 25920000)
html = BeautifulSoup(full_description)
nfo_pre = html.find('pre', attrs = {'class':'nfo'})
nfo_pre = html.find('pre', attrs = {'class': 'nfo'})
description = toUnicode(nfo_pre.text) if nfo_pre else ''
item['description'] = description
@@ -91,7 +91,7 @@ class Base(NZBProvider, RSS):
nfo_url = re.search('href=\"(?P<nfo>.+)\" ', item['description']).group('nfo')
full_description = self.getCache('nzbindex.%s' % item['id'], url = nfo_url, cache_timeout = 25920000)
html = BeautifulSoup(full_description)
item['description'] = toUnicode(html.find('pre', attrs = {'id':'nfo0'}).text)
item['description'] = toUnicode(html.find('pre', attrs = {'id': 'nfo0'}).text)
except:
pass
@@ -20,7 +20,7 @@ class Base(NZBProvider, RSS):
'detail_url': 'https://omgwtfnzbs.org/details.php?id=%s',
}
http_time_between_calls = 1 #seconds
http_time_between_calls = 1 # Seconds
cat_ids = [
([15], ['dvdrip']),
@@ -21,7 +21,7 @@ class Base(TorrentProvider):
}
# Searches for movies only - BiT-HDTV's subcategory and resolution search filters appear to be broken
http_time_between_calls = 1 #seconds
http_time_between_calls = 1 # Seconds
def _search(self, media, quality, results):
@@ -40,7 +40,7 @@ class Base(TorrentProvider):
html = BeautifulSoup(data)
try:
result_table = html.find('table', attrs = {'width' : '750', 'class' : ''})
result_table = html.find('table', attrs = {'width': '750', 'class': ''})
if result_table is None:
return
@@ -74,7 +74,7 @@ class Base(TorrentProvider):
def getMoreInfo(self, item):
full_description = self.getCache('bithdtv.%s' % item['id'], item['detail_url'], cache_timeout = 25920000)
html = BeautifulSoup(full_description)
nfo_pre = html.find('table', attrs = {'class':'detail'})
nfo_pre = html.find('table', attrs = {'class': 'detail'})
description = toUnicode(nfo_pre.text) if nfo_pre else ''
item['description'] = description
@@ -20,7 +20,7 @@ class Base(TorrentProvider):
'baseurl': 'https://www.bitsoup.me/%s',
}
http_time_between_calls = 1 #seconds
http_time_between_calls = 1 # Seconds
def _searchOnTitle(self, title, movie, quality, results):
@@ -30,7 +30,7 @@ class Base(TorrentProvider):
})
url = "%s&%s" % (self.urls['search'], arguments)
url = self.urls['search'] % self.buildUrl(media, quality)
url = self.urls['search'] % self.buildUrl(movie, quality)
data = self.getHTMLData(url)
if data:
@@ -74,7 +74,6 @@ class Base(TorrentProvider):
except:
log.error('Failed getting results from %s: %s', (self.getName(), traceback.format_exc()))
def getLoginParams(self):
return {
'username': self.conf('username'),
@@ -82,7 +81,6 @@ class Base(TorrentProvider):
'ssl': 'yes',
}
def loginSuccess(self, output):
return 'logout.php' in output.lower()
@@ -19,7 +19,7 @@ class Base(TorrentProvider):
'api': 'https://hdbits.org/api/torrents'
}
http_time_between_calls = 1 #seconds
http_time_between_calls = 1 # Seconds
def _post_query(self, **params):
@@ -56,7 +56,7 @@ class Base(TorrentProvider):
'name': result['name'],
'url': self.urls['download'] % (result['id'], self.conf('passkey')),
'detail_url': self.urls['detail'] % result['id'],
'size': tryInt(result['size'])/1024/1024,
'size': tryInt(result['size']) / 1024 / 1024,
'seeders': tryInt(result['seeders']),
'leechers': tryInt(result['leechers'])
})
@@ -23,9 +23,9 @@ class Base(TorrentProvider):
}
cat_ids = [
(['41'], ['720p', '1080p', 'brrip']),
(['19'], ['cam', 'ts', 'dvdrip', 'tc', 'r5', 'scr']),
(['20'], ['dvdr'])
(['41'], ['720p', '1080p', 'brrip']),
(['19'], ['cam', 'ts', 'dvdrip', 'tc', 'r5', 'scr']),
(['20'], ['dvdr'])
]
cat_backup_id = 200
@@ -79,7 +79,7 @@ class Base(TorrentProvider):
return confirmed + trusted + vip + moderated
id = re.search('id=(?P<id>\d+)&', link).group('id')
url = self.urls['download'] % (download)
url = self.urls['download'] % download
fileSize = self.parseSize(result.select('td.rowhead')[5].text)
results.append({
@@ -113,7 +113,7 @@ class Base(TorrentProvider):
try:
full_description = self.getHTMLData(item['detail_url'])
html = BeautifulSoup(full_description)
nfo_pre = html.find('td', attrs = {'class':'main'}).findAll('table')[1]
nfo_pre = html.find('td', attrs = {'class': 'main'}).findAll('table')[1]
description = toUnicode(nfo_pre.text) if nfo_pre else ''
except:
log.error('Failed getting more info for %s', item['name'])
@@ -21,7 +21,7 @@ class Base(TorrentProvider):
'search': 'https://www.iptorrents.com/torrents/?l%d=1%s&q=%s&qf=ti&p=%d',
}
http_time_between_calls = 1 #seconds
http_time_between_calls = 1 # Seconds
cat_backup_id = None
def buildUrl(self, title, media, quality):
@@ -53,14 +53,14 @@ class Base(TorrentProvider):
html = BeautifulSoup(data)
try:
page_nav = html.find('span', attrs = {'class' : 'page_nav'})
page_nav = html.find('span', attrs = {'class': 'page_nav'})
if page_nav:
next_link = page_nav.find("a", text = "Next")
if next_link:
final_page_link = next_link.previous_sibling.previous_sibling
pages = int(final_page_link.string)
result_table = html.find('table', attrs = {'class' : 'torrents'})
result_table = html.find('table', attrs = {'class': 'torrents'})
if not result_table or 'nothing found!' in data.lower():
return
@@ -80,8 +80,8 @@ class Base(TorrentProvider):
torrent_download_url = self.urls['base_url'] + (result.find_all('td')[3].find('a'))['href'].replace(' ', '.')
torrent_details_url = self.urls['base_url'] + torrent['href']
torrent_size = self.parseSize(result.find_all('td')[5].string)
torrent_seeders = tryInt(result.find('td', attrs = {'class' : 'ac t_seeders'}).string)
torrent_leechers = tryInt(result.find('td', attrs = {'class' : 'ac t_leechers'}).string)
torrent_seeders = tryInt(result.find('td', attrs = {'class': 'ac t_seeders'}).string)
torrent_leechers = tryInt(result.find('td', attrs = {'class': 'ac t_leechers'}).string)
results.append({
'id': torrent_id,
@@ -26,7 +26,7 @@ class Base(TorrentMagnetProvider):
(['dvd'], ['dvdr']),
]
http_time_between_calls = 1 #seconds
http_time_between_calls = 1 # Seconds
cat_backup_id = None
proxy_list = [
@@ -18,12 +18,12 @@ log = CPLog(__name__)
class Base(TorrentProvider):
urls = {
'domain': 'https://tls.passthepopcorn.me',
'detail': 'https://tls.passthepopcorn.me/torrents.php?torrentid=%s',
'torrent': 'https://tls.passthepopcorn.me/torrents.php',
'login': 'https://tls.passthepopcorn.me/ajax.php?action=login',
'login_check': 'https://tls.passthepopcorn.me/ajax.php?action=login',
'search': 'https://tls.passthepopcorn.me/search/%s/0/7/%d'
'domain': 'https://tls.passthepopcorn.me',
'detail': 'https://tls.passthepopcorn.me/torrents.php?torrentid=%s',
'torrent': 'https://tls.passthepopcorn.me/torrents.php',
'login': 'https://tls.passthepopcorn.me/ajax.php?action=login',
'login_check': 'https://tls.passthepopcorn.me/ajax.php?action=login',
'search': 'https://tls.passthepopcorn.me/search/%s/0/7/%d'
}
http_time_between_calls = 2
@@ -136,23 +136,23 @@ class Base(TorrentProvider):
def htmlToUnicode(self, text):
def fixup(m):
text = m.group(0)
if text[:2] == "&#":
txt = m.group(0)
if txt[:2] == "&#":
# character reference
try:
if text[:3] == "&#x":
return unichr(int(text[3:-1], 16))
if txt[:3] == "&#x":
return unichr(int(txt[3:-1], 16))
else:
return unichr(int(text[2:-1]))
return unichr(int(txt[2:-1]))
except ValueError:
pass
else:
# named entity
try:
text = unichr(htmlentitydefs.name2codepoint[text[1:-1]])
txt = unichr(htmlentitydefs.name2codepoint[txt[1:-1]])
except KeyError:
pass
return text # leave as is
return txt # leave as is
return re.sub("&#?\w+;", fixup, six.u('%s') % text)
def unicodeToASCII(self, text):
@@ -164,11 +164,11 @@ class Base(TorrentProvider):
def getLoginParams(self):
return {
'username': self.conf('username'),
'password': self.conf('password'),
'passkey': self.conf('passkey'),
'keeplogged': '1',
'login': 'Login'
'username': self.conf('username'),
'password': self.conf('password'),
'passkey': self.conf('passkey'),
'keeplogged': '1',
'login': 'Login'
}
def loginSuccess(self, output):
@@ -34,7 +34,7 @@ class Base(TorrentMagnetProvider):
query = self.buildUrl(media)
params = tryUrlencode({
'page':'torrents',
'page': 'torrents',
'search': query,
'active': 1,
})
@@ -22,7 +22,7 @@ class Base(TorrentProvider):
'download': 'https://www.sceneaccess.eu/%s',
}
http_time_between_calls = 1 #seconds
http_time_between_calls = 1 # Seconds
def _search(self, media, quality, results):
@@ -33,16 +33,16 @@ class Base(TorrentProvider):
html = BeautifulSoup(data)
try:
resultsTable = html.find('table', attrs = {'id' : 'torrents-table'})
resultsTable = html.find('table', attrs = {'id': 'torrents-table'})
if resultsTable is None:
return
entries = resultsTable.find_all('tr', attrs = {'class' : 'tt_row'})
entries = resultsTable.find_all('tr', attrs = {'class': 'tt_row'})
for result in entries:
link = result.find('td', attrs = {'class' : 'ttr_name'}).find('a')
url = result.find('td', attrs = {'class' : 'td_dl'}).find('a')
leechers = result.find('td', attrs = {'class' : 'ttr_leechers'}).find('a')
link = result.find('td', attrs = {'class': 'ttr_name'}).find('a')
url = result.find('td', attrs = {'class': 'td_dl'}).find('a')
leechers = result.find('td', attrs = {'class': 'ttr_leechers'}).find('a')
torrent_id = link['href'].replace('details?id=', '')
results.append({
@@ -50,8 +50,8 @@ class Base(TorrentProvider):
'name': link['title'],
'url': self.urls['download'] % url['href'],
'detail_url': self.urls['detail'] % torrent_id,
'size': self.parseSize(result.find('td', attrs = {'class' : 'ttr_size'}).contents[0]),
'seeders': tryInt(result.find('td', attrs = {'class' : 'ttr_seeders'}).find('a').string),
'size': self.parseSize(result.find('td', attrs = {'class': 'ttr_size'}).contents[0]),
'seeders': tryInt(result.find('td', attrs = {'class': 'ttr_seeders'}).find('a').string),
'leechers': tryInt(leechers.string) if leechers else 0,
'get_more_info': self.getMoreInfo,
})
@@ -62,7 +62,7 @@ class Base(TorrentProvider):
def getMoreInfo(self, item):
full_description = self.getCache('sceneaccess.%s' % item['id'], item['detail_url'], cache_timeout = 25920000)
html = BeautifulSoup(full_description)
nfo_pre = html.find('div', attrs = {'id':'details_table'})
nfo_pre = html.find('div', attrs = {'id': 'details_table'})
description = toUnicode(nfo_pre.text) if nfo_pre else ''
item['description'] = description
@@ -108,7 +108,7 @@ class Base(TorrentMagnetProvider):
def getMoreInfo(self, item):
full_description = self.getCache('tpb.%s' % item['id'], item['detail_url'], cache_timeout = 25920000)
html = BeautifulSoup(full_description)
nfo_pre = html.find('div', attrs = {'class':'nfo'})
nfo_pre = html.find('div', attrs = {'class': 'nfo'})
description = toUnicode(nfo_pre.text) if nfo_pre else ''
item['description'] = description
@@ -31,7 +31,7 @@ class Base(TorrentProvider):
([20], ['dvdr']),
]
http_time_between_calls = 1 #seconds
http_time_between_calls = 1 # Seconds
cat_backup_id = None
def _searchOnTitle(self, title, movie, quality, results):
@@ -43,7 +43,7 @@ class Base(TorrentProvider):
html = BeautifulSoup(data)
try:
result_table = html.find('table', attrs = {'border' : '1'})
result_table = html.find('table', attrs = {'border': '1'})
if not result_table:
return
@@ -52,7 +52,7 @@ class Base(TorrentProvider):
for result in entries[1:]:
cells = result.find_all('td')
link = cells[1].find('a', attrs = {'class' : 'index'})
link = cells[1].find('a', attrs = {'class': 'index'})
full_id = link['href'].replace('details.php?id=', '')
torrent_id = full_id[:6]
@@ -16,7 +16,7 @@ class Base(TorrentProvider):
'download': 'http://www.td.af/download.php/%s/%s',
}
http_time_between_calls = 1 #seconds
http_time_between_calls = 1 # Seconds
def _search(self, media, quality, results):
@@ -21,7 +21,7 @@ class Base(TorrentProvider):
'download': 'http://www.torrentleech.org%s',
}
http_time_between_calls = 1 #seconds
http_time_between_calls = 1 # Seconds
cat_backup_id = None
def _search(self, media, quality, results):
@@ -34,7 +34,7 @@ class Base(TorrentProvider):
html = BeautifulSoup(data)
try:
result_table = html.find('table', attrs = {'id' : 'torrenttable'})
result_table = html.find('table', attrs = {'id': 'torrenttable'})
if not result_table:
return
@@ -42,9 +42,9 @@ class Base(TorrentProvider):
for result in entries[1:]:
link = result.find('td', attrs = {'class' : 'name'}).find('a')
url = result.find('td', attrs = {'class' : 'quickdownload'}).find('a')
details = result.find('td', attrs = {'class' : 'name'}).find('a')
link = result.find('td', attrs = {'class': 'name'}).find('a')
url = result.find('td', attrs = {'class': 'quickdownload'}).find('a')
details = result.find('td', attrs = {'class': 'name'}).find('a')
results.append({
'id': link['href'].replace('/torrent/', ''),
@@ -52,8 +52,8 @@ class Base(TorrentProvider):
'url': self.urls['download'] % url['href'],
'detail_url': self.urls['download'] % details['href'],
'size': self.parseSize(result.find_all('td')[4].string),
'seeders': tryInt(result.find('td', attrs = {'class' : 'seeders'}).string),
'leechers': tryInt(result.find('td', attrs = {'class' : 'leechers'}).string),
'seeders': tryInt(result.find('td', attrs = {'class': 'seeders'}).string),
'leechers': tryInt(result.find('td', attrs = {'class': 'leechers'}).string),
})
except:
@@ -21,7 +21,7 @@ class Base(TorrentProvider):
'download': 'https://torrentshack.net/%s',
}
http_time_between_calls = 1 #seconds
http_time_between_calls = 1 # Seconds
def _search(self, media, quality, results):
@@ -32,16 +32,16 @@ class Base(TorrentProvider):
html = BeautifulSoup(data)
try:
result_table = html.find('table', attrs = {'id' : 'torrent_table'})
result_table = html.find('table', attrs = {'id': 'torrent_table'})
if not result_table:
return
entries = result_table.find_all('tr', attrs = {'class' : 'torrent'})
entries = result_table.find_all('tr', attrs = {'class': 'torrent'})
for result in entries:
link = result.find('span', attrs = {'class' : 'torrent_name_link'}).parent
url = result.find('td', attrs = {'class' : 'torrent_td'}).find('a')
link = result.find('span', attrs = {'class': 'torrent_name_link'}).parent
url = result.find('td', attrs = {'class': 'torrent_td'}).find('a')
results.append({
'id': link['href'].replace('torrents.php?torrentid=', ''),
@@ -16,7 +16,7 @@ class Base(TorrentProvider):
'detail': '%s/api/movie.json?id=%s'
}
http_time_between_calls = 1 #seconds
http_time_between_calls = 1 # seconds
proxy_list = [
'http://yify.unlocktorrent.com',
@@ -6,12 +6,11 @@
top: 0;
text-align: right;
height: 100%;
border-bottom: 4px solid transparent;
transition: all .4s cubic-bezier(0.9,0,0.1,1);
position: absolute;
z-index: 20;
border: 1px solid transparent;
border-width: 0 0 4px;
border: 0 solid transparent;
border-bottom-width: 4px;
}
.search_form:hover {
border-color: #047792;
@@ -22,19 +21,19 @@
right: 44px;
}
}
.search_form.focused,
.search_form.shown {
border-color: #04bce6;
}
.search_form .input {
height: 100%;
overflow: hidden;
width: 45px;
transition: all .4s cubic-bezier(0.9,0,0.1,1);
}
.search_form.focused .input,
.search_form.shown .input {
width: 380px;
@@ -49,7 +48,6 @@
color: #FFF;
font-size: 25px;
height: 100%;
padding: 10px;
width: 100%;
opacity: 0;
padding: 0 40px 0 10px;
@@ -59,23 +57,23 @@
.search_form.shown .input input {
opacity: 1;
}
.search_form input::-ms-clear {
width : 0;
height: 0;
}
@media all and (max-width: 480px) {
.search_form .input input {
font-size: 15px;
}
.search_form.focused .input,
.search_form.shown .input {
width: 277px;
}
}
.search_form .input a {
position: absolute;
top: 0;
@@ -89,7 +87,7 @@
font-size: 15px;
color: #FFF;
}
.search_form .input a:after {
content: "\e03e";
}
@@ -97,7 +95,7 @@
.search_form.shown.filled .input a:after {
content: "\e04e";
}
@media all and (max-width: 480px) {
.search_form .input a {
line-height: 44px;
@@ -167,13 +165,13 @@
.media_result .options select[name=title] { width: 170px; }
.media_result .options select[name=profile] { width: 90px; }
.media_result .options select[name=category] { width: 80px; }
@media all and (max-width: 480px) {
.media_result .options select[name=title] { width: 90px; }
.media_result .options select[name=profile] { width: 50px; }
.media_result .options select[name=category] { width: 50px; }
}
.media_result .options .button {
@@ -227,14 +225,14 @@
right: 7px;
vertical-align: middle;
}
.media_result .info h2 {
margin: 0;
font-weight: normal;
font-size: 20px;
padding: 0;
}
.search_form .info h2 {
position: absolute;
width: 100%;
@@ -247,12 +245,12 @@
overflow: hidden;
white-space: nowrap;
}
.search_form .info h2 .title {
position: absolute;
width: 88%;
}
.media_result .info h2 .year {
padding: 0 5px;
text-align: center;
@@ -260,14 +258,14 @@
width: 12%;
right: 0;
}
@media all and (max-width: 480px) {
.search_form .info h2 .year {
font-size: 12px;
margin-top: 7px;
}
}
.search_form .mask,
@@ -277,4 +275,4 @@
width: 100%;
left: 0;
top: 0;
}
}
@@ -16,7 +16,7 @@ Block.Search = new Class({
'keyup': self.keyup.bind(self),
'focus': function(){
if(focus_timer) clearTimeout(focus_timer);
self.el.addClass('focused')
self.el.addClass('focused');
if(this.get('value'))
self.hideResults(false)
},
@@ -57,17 +57,17 @@ Block.Search = new Class({
(e).preventDefault();
if(self.last_q === ''){
self.input.blur()
self.input.blur();
self.last_q = null;
}
else {
self.last_q = '';
self.input.set('value', '');
self.input.focus()
self.input.focus();
self.media = {}
self.results.empty()
self.media = {};
self.results.empty();
self.el.removeClass('filled')
}
@@ -92,16 +92,16 @@ Block.Search = new Class({
self.hidden = bool;
},
keyup: function(e){
keyup: function(){
var self = this;
self.el[self.q() ? 'addClass' : 'removeClass']('filled')
self.el[self.q() ? 'addClass' : 'removeClass']('filled');
if(self.q() != self.last_q){
if(self.api_request && self.api_request.isRunning())
self.api_request.cancel();
if(self.autocomplete_timer) clearTimeout(self.autocomplete_timer)
if(self.autocomplete_timer) clearTimeout(self.autocomplete_timer);
self.autocomplete_timer = self.autocomplete.delay(300, self)
}
@@ -111,7 +111,7 @@ Block.Search = new Class({
var self = this;
if(!self.q()){
self.hideResults(true)
self.hideResults(true);
return
}
@@ -139,7 +139,7 @@ Block.Search = new Class({
})
}
else
self.fill(q, cache)
self.fill(q, cache);
self.last_q = q;
@@ -148,31 +148,31 @@ Block.Search = new Class({
fill: function(q, json){
var self = this;
self.cache[q] = json
self.cache[q] = json;
self.media = {}
self.results.empty()
Object.each(json, function(media, type){
self.media = {};
self.results.empty();
Object.each(json, function(media){
if(typeOf(media) == 'array'){
Object.each(media, function(m){
var m = new Block.Search[m.type.capitalize() + 'Item'](m);
$(m).inject(self.results)
self.media[m.imdb || 'r-'+Math.floor(Math.random()*10000)] = m
$(m).inject(self.results);
self.media[m.imdb || 'r-'+Math.floor(Math.random()*10000)] = m;
if(q == m.imdb)
m.showOptions()
});
}
})
});
// Calculate result heights
var w = window.getSize(),
rc = self.result_container.getCoordinates();
self.results.setStyle('max-height', (w.y - rc.top - 50) + 'px')
self.results.setStyle('max-height', (w.y - rc.top - 50) + 'px');
self.mask.fade('out')
},
@@ -185,4 +185,4 @@ Block.Search = new Class({
return this.input.get('value').trim();
}
});
});
@@ -14,6 +14,7 @@ log = CPLog(__name__)
class Searcher(SearcherBase):
# noinspection PyMissingConstructor
def __init__(self):
addEvent('searcher.protocols', self.getSearchProtocols)
addEvent('searcher.contains_other_quality', self.containsOtherQuality)
@@ -195,7 +196,7 @@ class Searcher(SearcherBase):
req = splitString(req_set, '&')
req_match += len(list(set(rel_words) & set(req))) == len(req)
if len(required_words) > 0 and req_match == 0:
if len(required_words) > 0 and req_match == 0:
log.info2('Wrong: Required word missing: %s', rel_name)
return False