Private GIT

Skip to content
Snippets Groups Projects
Commit b62afc63 authored by Ruud's avatar Ruud
Browse files

Speed up Userscript by not using BeautifulSoup. fix #796

parent 012ae976
No related branches found
No related tags found
No related merge requests found
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): ...@@ -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) return self.search(name, year)
except:
log.error('Failed parsing page for title and year: %s', traceback.format_exc())
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): ...@@ -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())
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment