Browse Source

Urlopen try,except fixes

pull/62/head
Ruud 14 years ago
parent
commit
668b95353f
  1. 5
      couchpotato/core/downloaders/nzbget/main.py
  2. 12
      couchpotato/core/notifications/nmj/main.py
  3. 5
      couchpotato/core/notifications/notifo/main.py
  4. 4
      couchpotato/core/notifications/xbmc/main.py
  5. 10
      couchpotato/core/plugins/base.py
  6. 6
      couchpotato/core/plugins/file/main.py
  7. 7
      couchpotato/core/plugins/searcher/main.py
  8. 7
      couchpotato/core/providers/movie/couchpotatoapi/main.py
  9. 59
      couchpotato/core/providers/nzb/moovee/main.py
  10. 8
      couchpotato/core/providers/nzb/newzbin/main.py
  11. 10
      couchpotato/core/providers/nzb/newznab/main.py
  12. 10
      couchpotato/core/providers/nzb/nzbindex/main.py
  13. 10
      couchpotato/core/providers/nzb/nzbmatrix/main.py
  14. 10
      couchpotato/core/providers/nzb/nzbs/main.py
  15. 71
      couchpotato/core/providers/nzb/x264/main.py
  16. 10
      couchpotato/core/providers/trailer/hdtrailers/main.py
  17. 5
      couchpotato/core/providers/userscript/allocine/main.py
  18. 5
      couchpotato/core/providers/userscript/appletrailers/main.py
  19. 5
      couchpotato/core/providers/userscript/base.py

5
couchpotato/core/downloaders/nzbget/main.py

@ -3,6 +3,7 @@ from couchpotato.core.downloaders.base import Downloader
from couchpotato.core.logger import CPLog
from inspect import isfunction
import socket
import traceback
import xmlrpclib
log = CPLog(__name__)
@ -48,8 +49,8 @@ class NZBGet(Downloader):
else:
log.info('Downloading: %s' % data.get('url'))
file = self.urlopen(data.get('url'))
except Exception, e:
log.error('Unable to get NZB file: %s' % e)
except:
log.error('Unable to get NZB file: %s' % traceback.format_exc())
return False
if rpc.append(nzb_name, self.conf('category'), False, standard_b64encode(file.strip())):

12
couchpotato/core/notifications/nmj/main.py

@ -79,9 +79,9 @@ class NMJ(Notification):
if self.mount:
log.debug('Try to mount network drive via url: %s' % (mount))
data = self.urlopen(mount)
if not data:
log.error('Warning: Couldn\'t contact popcorn hour on host %s' % host)
try:
data = self.urlopen(mount)
except:
return False
params = {
@ -94,9 +94,9 @@ class NMJ(Notification):
UPDATE_URL = 'http://%(host)s:8008/metadata_database?%(params)s'
updateUrl = UPDATE_URL % {'host': host, 'params': params}
response = self.urlopen(updateUrl)
if not response:
log.error('Warning: Couldn\'t contact Popcorn Hour on host %s' % host)
try:
response = self.urlopen(updateUrl)
except:
return False
try:

5
couchpotato/core/notifications/notifo/main.py

@ -3,6 +3,7 @@ from couchpotato.core.logger import CPLog
from couchpotato.core.notifications.base import Notification
from flask.helpers import json
import base64
import traceback
log = CPLog(__name__)
@ -30,8 +31,8 @@ class Notifo(Notification):
if result['status'] != 'success' or result['response_message'] != 'OK':
raise Exception
except Exception, e:
log.error('Notification failed: %s' % e)
except:
log.error('Notification failed: %s' % traceback.format_exc())
return False
log.info('Notifo notification successful.')

4
couchpotato/core/notifications/xbmc/main.py

@ -29,7 +29,9 @@ class XBMC(Notification):
'Authorization': "Basic %s" % base64.encodestring('%s:%s' % (self.conf('username'), self.conf('password')))[:-1]
}
if not self.urlopen(url, headers = headers):
try:
self.urlopen(url, headers = headers)
except:
log.error("Couldn't sent command to XBMC")
return False

10
couchpotato/core/plugins/base.py

@ -160,12 +160,20 @@ class Plugin(object):
log.error("Something went wrong when finishing the plugin function. Could not find the 'is_running' key")
def getCache(self, cache_key):
def getCache(self, cache_key, url = None):
cache = Env.get('cache').get(cache_key)
if cache:
log.debug('Getting cache %s' % cache_key)
return cache
if url:
try:
data = self.urlopen(url)
self.setCache(cache_key, data)
return data
except:
pass
def setCache(self, cache_key, value, timeout = 300):
log.debug('Setting cache %s' % cache_key)
Env.get('cache').set(cache_key, value, timeout)

6
couchpotato/core/plugins/file/main.py

@ -34,9 +34,9 @@ class FileManager(Plugin):
def download(self, url = '', dest = None, overwrite = False):
file = self.urlopen(url)
if not file:
log.error('File is empty, don\'t download')
try:
file = self.urlopen(url)
except:
return False
if not dest: # to Cache

7
couchpotato/core/plugins/searcher/main.py

@ -261,7 +261,10 @@ class Searcher(Plugin):
nfo = self.getCache(cache_key)
if not nfo:
nfo = self.urlopen('http://www.srrdb.com/showfile.php?release=%s' % check_name)
self.setCache(cache_key, nfo)
try:
nfo = self.urlopen('http://www.srrdb.com/showfile.php?release=%s' % check_name)
self.setCache(cache_key, nfo)
except:
pass
return getImdb(nfo) == imdb_id

7
couchpotato/core/providers/movie/couchpotatoapi/main.py

@ -20,9 +20,8 @@ class CouchPotatoApi(MovieProvider):
def releaseDate(self, imdb_id):
data = self.urlopen((self.apiUrl % ('eta')) + (id + '/'))
try:
data = self.urlopen((self.apiUrl % ('eta')) + (id + '/'))
dates = json.loads(data)
log.info('Found ETA for %s: %s' % (imdb_id, dates))
except Exception, e:
@ -31,10 +30,8 @@ class CouchPotatoApi(MovieProvider):
return dates
def suggest(self, movies = [], ignore = []):
data = self.urlopen((self.apiUrl % ('suggest')) + ','.join(movies) + '/' + ','.join(ignore) + '/')
try:
data = self.urlopen((self.apiUrl % ('suggest')) + ','.join(movies) + '/' + ','.join(ignore) + '/')
suggestions = json.loads(data)
log.info('Found Suggestions for %s' % (suggestions))
except Exception, e:

59
couchpotato/core/providers/nzb/moovee/main.py

@ -28,39 +28,32 @@ class Moovee(NZBProvider):
url = self.urls['search'] % quote_plus(q)
cache_key = 'moovee.%s' % q
data = self.getCache(cache_key)
if not data:
data = self.urlopen(url)
self.setCache(cache_key, data)
if not data:
log.error('Failed to get data from %s.' % url)
return results
match = re.compile(self.regex, re.DOTALL).finditer(data)
for nzb in match:
new = {
'id': nzb.group('reqid'),
'name': nzb.group('title'),
'type': 'nzb',
'provider': self.getName(),
'age': self.calculateAge(time.mktime(parse(nzb.group('age')).timetuple())),
'size': None,
'url': self.urls['download'] % (nzb.group('reqid')),
'download': self.download,
'detail_url': '',
'description': '',
'check_nzb': False,
}
new['score'] = fireEvent('score.calculate', new, movie, single = True)
is_correct_movie = fireEvent('searcher.correct_movie',
nzb = new, movie = movie, quality = quality,
imdb_results = False, single_category = False, single = True)
if is_correct_movie:
results.append(new)
self.found(new)
data = self.getCache(cache_key, url)
if data:
match = re.compile(self.regex, re.DOTALL).finditer(data)
for nzb in match:
new = {
'id': nzb.group('reqid'),
'name': nzb.group('title'),
'type': 'nzb',
'provider': self.getName(),
'age': self.calculateAge(time.mktime(parse(nzb.group('age')).timetuple())),
'size': None,
'url': self.urls['download'] % (nzb.group('reqid')),
'download': self.download,
'detail_url': '',
'description': '',
'check_nzb': False,
}
new['score'] = fireEvent('score.calculate', new, movie, single = True)
is_correct_movie = fireEvent('searcher.correct_movie',
nzb = new, movie = movie, quality = quality,
imdb_results = False, single_category = False, single = True)
if is_correct_movie:
results.append(new)
self.found(new)
return results

8
couchpotato/core/providers/nzb/newzbin/main.py

@ -66,9 +66,11 @@ class Newzbin(NZBProvider, RSS):
headers = {
'Authorization': "Basic %s" % base64.encodestring('%s:%s' % (self.conf('username'), self.conf('password')))[:-1]
}
data = self.urlopen(url, headers = headers)
self.setCache(cache_key, data)
try:
data = self.urlopen(url, headers = headers)
self.setCache(cache_key, data)
except:
return results
if data:
try:

10
couchpotato/core/providers/nzb/newznab/main.py

@ -100,15 +100,7 @@ class Newznab(NZBProvider, RSS):
def createItems(self, url, cache_key, host, single_cat = False, movie = None, quality = None, for_feed = False):
results = []
data = self.getCache(cache_key)
if not data:
data = self.urlopen(url)
self.setCache(cache_key, data)
if not data:
log.error('Failed to get data from %s.' % url)
return results
data = self.getCache(cache_key, url)
if data:
try:
try:

10
couchpotato/core/providers/nzb/nzbindex/main.py

@ -37,15 +37,7 @@ class NzbIndex(NZBProvider, RSS):
cache_key = 'nzbindex.%s.%s' % (movie['library'].get('identifier'), quality.get('identifier'))
data = self.getCache(cache_key)
if not data:
data = self.urlopen(url)
self.setCache(cache_key, data)
if not data:
log.error('Failed to get data from %s.' % url)
return results
data = self.getCache(cache_key, url)
if data:
try:
try:

10
couchpotato/core/providers/nzb/nzbmatrix/main.py

@ -50,15 +50,7 @@ class NZBMatrix(NZBProvider, RSS):
cache_key = 'nzbmatrix.%s.%s' % (movie['library'].get('identifier'), cat_ids)
single_cat = True
data = self.getCache(cache_key)
if not data:
data = self.urlopen(url)
self.setCache(cache_key, data)
if not data:
log.error('Failed to get data from %s.' % url)
return results
data = self.getCache(cache_key, url)
if data:
try:
try:

10
couchpotato/core/providers/nzb/nzbs/main.py

@ -47,15 +47,7 @@ class Nzbs(NZBProvider, RSS):
cache_key = 'nzbs.%s.%s' % (movie['library'].get('identifier'), str(cat_id))
data = self.getCache(cache_key)
if not data:
data = self.urlopen(url)
self.setCache(cache_key, data)
if not data:
log.error('Failed to get data from %s.' % url)
return results
data = self.getCache(cache_key, url)
if data:
try:
try:

71
couchpotato/core/providers/nzb/x264/main.py

@ -27,45 +27,38 @@ class X264(NZBProvider):
url = self.urls['search'] % quote_plus(q)
cache_key = 'x264.%s' % q
data = self.getCache(cache_key)
if not data:
data = self.urlopen(url)
self.setCache(cache_key, data)
if not data:
log.error('Failed to get data from %s.' % url)
return results
match = re.compile(self.regex, re.DOTALL).finditer(data)
for nzb in match:
try:
age_match = re.match('((?P<day>\d+)d)', nzb.group('age'))
age = age_match.group('day')
except:
age = 1
new = {
'id': nzb.group('id'),
'name': nzb.group('title'),
'type': 'nzb',
'provider': self.getName(),
'age': tryInt(age),
'size': None,
'url': self.urls['download'] % (nzb.group('id')),
'download': self.download,
'detail_url': '',
'description': '',
'check_nzb': False,
}
new['score'] = fireEvent('score.calculate', new, movie, single = True)
is_correct_movie = fireEvent('searcher.correct_movie',
nzb = new, movie = movie, quality = quality,
imdb_results = False, single_category = False, single = True)
if is_correct_movie:
results.append(new)
self.found(new)
data = self.getCache(cache_key, url)
if data:
match = re.compile(self.regex, re.DOTALL).finditer(data)
for nzb in match:
try:
age_match = re.match('((?P<day>\d+)d)', nzb.group('age'))
age = age_match.group('day')
except:
age = 1
new = {
'id': nzb.group('id'),
'name': nzb.group('title'),
'type': 'nzb',
'provider': self.getName(),
'age': tryInt(age),
'size': None,
'url': self.urls['download'] % (nzb.group('id')),
'download': self.download,
'detail_url': '',
'description': '',
'check_nzb': False,
}
new['score'] = fireEvent('score.calculate', new, movie, single = True)
is_correct_movie = fireEvent('searcher.correct_movie',
nzb = new, movie = movie, quality = quality,
imdb_results = False, single_category = False, single = True)
if is_correct_movie:
results.append(new)
self.found(new)
return results

10
couchpotato/core/providers/trailer/hdtrailers/main.py

@ -21,7 +21,10 @@ class HDTrailers(TrailerProvider):
movie_name = movie['library']['titles'][0]['title']
url = self.url['api'] % self.movieUrlName(movie_name)
data = self.urlopen(url)
try:
data = self.urlopen(url)
except:
return {}
p480 = []
p720 = []
@ -45,7 +48,10 @@ class HDTrailers(TrailerProvider):
results = {'480p':[], '720p':[], '1080p':[]}
url = "%s?%s" % (self.url['backup'], urlencode({'s':movie}))
data = self.urlopen(url)
try:
data = self.urlopen(url)
except:
return results
try:
tables = SoupStrainer('div')

5
couchpotato/core/providers/userscript/allocine/main.py

@ -10,7 +10,10 @@ class AlloCine(UserscriptBase):
if not 'fichefilm_gen_cfilm' in url:
return 'Url isn\'t from a movie'
data = self.urlopen(url)
try:
data = self.urlopen(url)
except:
return
html = BeautifulSoup(data)
title = html.find('title').contents[0].strip()

5
couchpotato/core/providers/userscript/appletrailers/main.py

@ -8,7 +8,10 @@ class AppleTrailers(UserscriptBase):
def getMovie(self, url):
data = self.urlopen(url)
try:
data = self.urlopen(url)
except:
return
name = re.search("trailerTitle.*=.*\'(?P<name>.*)\';", data)
name = name.group('name').decode('string_escape')

5
couchpotato/core/providers/userscript/base.py

@ -42,7 +42,10 @@ class UserscriptBase(Plugin):
return
def getMovie(self, url):
data = self.urlopen(url)
try:
data = self.urlopen(url)
except:
data = ''
return self.getInfo(getImdb(data))
def getInfo(self, identifier):

Loading…
Cancel
Save