Private GIT

Skip to content
Snippets Groups Projects
Commit 06d37bf6 authored by brinbois's avatar brinbois
Browse files

Correction pour le probleme du snatched

parent fd01c8a1
Branches
No related tags found
No related merge requests found
...@@ -15,6 +15,7 @@ import urllib ...@@ -15,6 +15,7 @@ import urllib
import urllib2 import urllib2
import unicodedata import unicodedata
from libs.werkzeug.urls import url_encode from libs.werkzeug.urls import url_encode
from couchpotato.core.event import fireEvent
log = CPLog(__name__) log = CPLog(__name__)
...@@ -61,8 +62,7 @@ class cPASbien(TorrentProvider): ...@@ -61,8 +62,7 @@ class cPASbien(TorrentProvider):
} }
data_tmp = urllib.urlencode(values) data_tmp = urllib.urlencode(values)
req = urllib2.Request(URL, data_tmp ) # POST request doesn't not work req = urllib2.Request(URL, data_tmp )
opener = self.login_opener
data = urllib2.urlopen(req ) data = urllib2.urlopen(req )
...@@ -94,17 +94,34 @@ class cPASbien(TorrentProvider): ...@@ -94,17 +94,34 @@ class cPASbien(TorrentProvider):
detail_url = result.find_all('td')[0].find_all('a')[0]['href'] detail_url = result.find_all('td')[0].find_all('a')[0]['href']
#on scrapp la page detail
urldetail = detail_url.encode('UTF8')
urldetail=unicodedata.normalize('NFD',unicode(urldetail,"utf8","replace"))
urldetail=urldetail.encode('ascii','ignore')
urldetail = urllib2.quote(urldetail.encode('utf8'), ":/?=")
req = urllib2.Request(urldetail ) # POST request doesn't not work
data_detail = urllib2.urlopen(req)
url_download = ""
if data_detail:
html_detail = BeautifulSoup(data_detail)
url_download = html_detail.find_all('div', attrs = {'class':'download-torrent'})[0].find_all('a')[0]['href']
else:
tmp = result.find_all('td')[0].find_all('a')[0]['href'] tmp = result.find_all('td')[0].find_all('a')[0]['href']
tmp = tmp.split('/')[6].replace('.html','.torrent') tmp = tmp.split('/')[6].replace('.html','.torrent')
url_download = ('http://www.cpasbien.me/_torrents/%s' % tmp)
url = ('http://www.cpasbien.me/_torrents/%s' % tmp)
size = result.find_all('td')[1].text size = result.find_all('td')[1].text
#age = result.find_all('td')[4].text #age = result.find_all('td')[4].text
seeder = result.find_all('td')[2].find_all('span')[0].text seeder = result.find_all('td')[2].find_all('span')[0].text
leecher = result.find_all('td')[3].text leecher = result.find_all('td')[3].text
age = '1 mois' age = '0'
verify = getTitle(movie['library']).split(' ') verify = getTitle(movie['library']).split(' ')
...@@ -120,19 +137,18 @@ class cPASbien(TorrentProvider): ...@@ -120,19 +137,18 @@ class cPASbien(TorrentProvider):
if add == 1: if add == 1:
log.error(name) log.error(name)
log.error(url) log.error(url_download)
log.error(detail_url) log.error(detail_url)
log.error(size) log.error(size)
#log.error(age) #log.error(age)
log.error(seeder) log.error(seeder)
log.error(leecher) log.error(leecher)
new['id'] = id new['id'] = id
new['name'] = name.strip() new['name'] = name.strip()
new['url'] = url new['url'] = url_download
new['detail_url'] = detail_url new['detail_url'] = detail_url
#new['score'] = score
new['size'] = self.parseSize(size) new['size'] = self.parseSize(size)
new['age'] = self.ageToDays(age) new['age'] = self.ageToDays(age)
new['seeders'] = tryInt(seeder) new['seeders'] = tryInt(seeder)
...@@ -140,12 +156,17 @@ class cPASbien(TorrentProvider): ...@@ -140,12 +156,17 @@ class cPASbien(TorrentProvider):
new['extra_check'] = extra_check new['extra_check'] = extra_check
new['download'] = self.loginDownload new['download'] = self.loginDownload
#new['score'] = fireEvent('score.calculate', new, movie, single = True)
#log.error('score')
#log.error(new['score'])
results.append(new) results.append(new)
id = id+1 id = id+1
except: except:
log.error('Failed parsing T411: %s', traceback.format_exc()) log.error('Failed parsing cPASbien: %s', traceback.format_exc())
except AttributeError: except AttributeError:
log.debug('No search results found.') log.debug('No search results found.')
...@@ -189,7 +210,7 @@ class cPASbien(TorrentProvider): ...@@ -189,7 +210,7 @@ class cPASbien(TorrentProvider):
] ]
try: try:
response = opener.open('http://www.cpasbien.me', self.getLoginParams()) response = opener.open('http://www.cpasbien.me', tryUrlencode({'url': '/'}))
except urllib2.URLError as e: except urllib2.URLError as e:
log.error('Login to cPASbien failed: %s' % e) log.error('Login to cPASbien failed: %s' % e)
return False return False
...@@ -202,6 +223,19 @@ class cPASbien(TorrentProvider): ...@@ -202,6 +223,19 @@ class cPASbien(TorrentProvider):
log.error('Login to cPASbien failed: returned code %d' % response.getcode()) log.error('Login to cPASbien failed: returned code %d' % response.getcode())
return False return False
def getLoginParams(self):
return tryUrlencode({ def loginDownload(self, url = '', nzb_id = ''):
}) values = {
\ No newline at end of file 'url' : '/'
}
data_tmp = urllib.urlencode(values)
req = urllib2.Request(url, data_tmp )
try:
if not self.login_opener and not self.login():
log.error('Failed downloading from %s', self.getName())
return urllib2.urlopen(req).read()
except:
log.error('Failed downloading from %s: %s', (self.getName(), traceback.format_exc()))
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment