Browse Source

Simple "is running" check

pull/51/merge
Ruud 14 years ago
parent
commit
404df1584b
  1. 16
      couchpotato/core/event.py
  2. 5
      couchpotato/core/plugins/base.py

16
couchpotato/core/event.py

@ -1,7 +1,6 @@
from axl.axel import Event from axl.axel import Event
from couchpotato.core.helpers.variable import mergeDicts from couchpotato.core.helpers.variable import mergeDicts
from couchpotato.core.logger import CPLog from couchpotato.core.logger import CPLog
import inspect
import threading import threading
import traceback import traceback
@ -9,8 +8,6 @@ log = CPLog(__name__)
events = {} events = {}
def addEvent(name, handler): def addEvent(name, handler):
if events.get(name): if events.get(name):
@ -18,14 +15,19 @@ def addEvent(name, handler):
else: else:
e = events[name] = Event(threads = 20, exc_info = True, traceback = True, lock = threading.RLock()) e = events[name] = Event(threads = 20, exc_info = True, traceback = True, lock = threading.RLock())
def createHandle(handler, *args, **kwargs): def createHandle(*args, **kwargs):
handler.im_self.isRunning(True)
try:
parent = handler.im_self
parent.beforeCall()
h = handler(*args, **kwargs)
parent.afterCall()
except:
h = handler(*args, **kwargs) h = handler(*args, **kwargs)
handler.im_self.isRunning(True)
return h return h
e += createHandle(handler) e += createHandle
def removeEvent(name, handler): def removeEvent(name, handler):
e = events[name] e = events[name]

5
couchpotato/core/plugins/base.py

@ -67,6 +67,11 @@ class Plugin(object):
except Exception, e: except Exception, e:
log.error('Unable to create folder "%s": %s' % (path, e)) log.error('Unable to create folder "%s": %s' % (path, e))
def beforeCall(self):
self.isRunning(True)
def afterCall(self):
self.isRunning(False)
def doShutdown(self): def doShutdown(self):
self.shuttingDown(True) self.shuttingDown(True)

Loading…
Cancel
Save