Browse Source

Api call release lock never triggered

pull/3356/head
Ruud 11 years ago
parent
commit
6b06caf00d
  1. 45
      couchpotato/api.py

45
couchpotato/api.py

@ -112,8 +112,11 @@ class ApiHandler(RequestHandler):
except: except:
log.error('Failed doing api request "%s": %s', (route, traceback.format_exc())) log.error('Failed doing api request "%s": %s', (route, traceback.format_exc()))
self.write({'success': False, 'error': 'Failed returning results'}) try:
self.finish() self.write({'success': False, 'error': 'Failed returning results'})
self.finish()
except:
log.error('Failed write error "%s": %s', (route, traceback.format_exc()))
api_locks[route].release() api_locks[route].release()
@ -121,26 +124,24 @@ class ApiHandler(RequestHandler):
def taskFinished(self, result, route): def taskFinished(self, result, route):
if self.request.connection.stream.closed(): if not self.request.connection.stream.closed():
return try:
# Check JSONP callback
try: jsonp_callback = self.get_argument('callback_func', default = None)
# Check JSONP callback
jsonp_callback = self.get_argument('callback_func', default = None) if jsonp_callback:
self.write(str(jsonp_callback) + '(' + json.dumps(result) + ')')
if jsonp_callback: self.set_header("Content-Type", "text/javascript")
self.write(str(jsonp_callback) + '(' + json.dumps(result) + ')') self.finish()
self.set_header("Content-Type", "text/javascript") elif isinstance(result, tuple) and result[0] == 'redirect':
self.finish() self.redirect(result[1])
elif isinstance(result, tuple) and result[0] == 'redirect': else:
self.redirect(result[1]) self.write(result)
else: self.finish()
self.write(result) except:
self.finish() log.debug('Failed doing request, probably already closed: %s', (traceback.format_exc()))
except: try: self.finish({'success': False, 'error': 'Failed returning results'})
log.debug('Failed doing request, probably already closed: %s', (traceback.format_exc())) except: pass
try: self.finish({'success': False, 'error': 'Failed returning results'})
except: pass
api_locks[route].release() api_locks[route].release()

Loading…
Cancel
Save