Browse Source

Simple "is running" check

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

18
couchpotato/core/event.py

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

5
couchpotato/core/plugins/base.py

@ -67,6 +67,11 @@ class Plugin(object):
except Exception, 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):
self.shuttingDown(True)

Loading…
Cancel
Save