Speed up Userscript by not using BeautifulSoup. fix #796
This commit is contained in:
1 parent
012ae9769a
commit
b62afc63f1
2 files changed
+40
-13
No files matched your search
@@ -1,5 +1,9 @@
|
|||||||
from bs4 import BeautifulSoup
|
from couchpotato.core.logger import CPLog
|
||||||
from couchpotato.core.providers.userscript.base import UserscriptBase
|
from couchpotato.core.providers.userscript.base import UserscriptBase
|
||||||
|
import traceback
|
||||||
|
|
||||||
|
log = CPLog(__name__)
|
||||||
|
|
||||||
|
|
||||||
class AlloCine(UserscriptBase):
|
class AlloCine(UserscriptBase):
|
||||||
|
|
||||||
@@ -15,11 +19,17 @@ class AlloCine(UserscriptBase):
|
|||||||
except:
|
except:
|
||||||
return
|
return
|
||||||
|
|
||||||
html = BeautifulSoup(data)
|
name = None
|
||||||
title = html.find('title').contents[0].strip()
|
year = None
|
||||||
split = title.split(') - ')
|
|
||||||
|
|
||||||
name = split[0][:-5].strip()
|
try:
|
||||||
year = split[0][-4:]
|
start = data.find('<title>')
|
||||||
|
end = data.find('</title>', start)
|
||||||
|
page_title = data[start + len('<title>'):end].strip().split('-')
|
||||||
|
|
||||||
|
name = page_title[0].strip()
|
||||||
|
year = page_title[1].strip()[-4:]
|
||||||
|
return self.search(name, year)
|
||||||
|
except:
|
||||||
|
log.error('Failed parsing page for title and year: %s', traceback.format_exc())
|
||||||
|
|
||||||
return self.search(name, year)
|
|
||||||
@@ -1,6 +1,10 @@
|
|||||||
from bs4 import BeautifulSoup
|
from couchpotato.core.logger import CPLog
|
||||||
from couchpotato.core.event import fireEvent
|
|
||||||
from couchpotato.core.providers.userscript.base import UserscriptBase
|
from couchpotato.core.providers.userscript.base import UserscriptBase
|
||||||
|
import re
|
||||||
|
import traceback
|
||||||
|
|
||||||
|
log = CPLog(__name__)
|
||||||
|
|
||||||
|
|
||||||
class RottenTomatoes(UserscriptBase):
|
class RottenTomatoes(UserscriptBase):
|
||||||
|
|
||||||
@@ -16,7 +20,20 @@ class RottenTomatoes(UserscriptBase):
|
|||||||
except:
|
except:
|
||||||
return
|
return
|
||||||
|
|
||||||
html = BeautifulSoup(data)
|
try:
|
||||||
title = html.find('span', {'itemprop':'name'}).text
|
name = None
|
||||||
info = fireEvent('scanner.name_year', title, single = True)
|
year = None
|
||||||
return self.search(info['name'], info['year'])
|
metas = re.findall("property=\"(video:release_date|og:title)\" content=\"([^\"]*)\"", data)
|
||||||
|
|
||||||
|
for meta in metas:
|
||||||
|
mname, mvalue = meta
|
||||||
|
if mname == 'og:title':
|
||||||
|
name = mvalue.decode('unicode_escape')
|
||||||
|
elif mname == 'video:release_date':
|
||||||
|
year = mvalue[:4]
|
||||||
|
|
||||||
|
if name and year:
|
||||||
|
return self.search(name, year)
|
||||||
|
|
||||||
|
except:
|
||||||
|
log.error('Failed parsing page for title and year: %s', traceback.format_exc())
|
||||||
Reference in new issue
Block a user