Auto register static files

This commit is contained in:
Ruud
2011-08-24 12:02:40 +02:00
parent 9734521178
commit e8db94c831
16 changed files with 26 additions and 31 deletions
+6 -2
View File
@@ -80,10 +80,14 @@ class Loader:
def loadPlugins(self, module, name): def loadPlugins(self, module, name):
try: try:
module.start() klass = module.start()
if klass and getattr(klass, 'auto_register_static'):
klass.registerStatic(module.__file__)
return True return True
except Exception, e: except Exception, e:
log.error("Failed loading plugin '%s': %s" % (name, traceback.format_exc())) log.error("Failed loading plugin '%s': %s" % (module.__file__, traceback.format_exc()))
return False return False
def addModule(self, priority, type, module, name): def addModule(self, priority, type, module, name):
+10 -3
View File
@@ -15,11 +15,19 @@ class CoreNotifier(Notification):
def __init__(self): def __init__(self):
addEvent('notify', self.notify) addEvent('notify', self.notify)
addEvent('notify.core', self.frontend) addEvent('notify.frontend', self.frontend)
addApiView('core_notifier.listener', self.listener) addApiView('core_notifier.listener', self.listener)
self.registerStatic(__file__) self.registerEvents()
def registerEvents(self):
# Library update, frontend refresh
def onLibraryUpdate(data):
fireEvent('notify.frontend', type = 'library.update', data = data)
addEvent('library.update', onLibraryUpdate)
def notify(self, message = '', data = {}, type = None): def notify(self, message = '', data = {}, type = None):
self.add(data = { self.add(data = {
@@ -38,7 +46,6 @@ class CoreNotifier(Notification):
messages = [] messages = []
for message in self.messages: for message in self.messages:
print message['time'], (time.time() - 5)
#delete message older then 15s #delete message older then 15s
if message['time'] > (time.time() - 15): if message['time'] > (time.time() - 15):
messages.append(message) messages.append(message)
+1
View File
@@ -14,6 +14,7 @@ log = CPLog(__name__)
class Plugin(object): class Plugin(object):
enabled_option = 'enabled' enabled_option = 'enabled'
auto_register_static = True
def conf(self, attr, default = None): def conf(self, attr, default = None):
return Env.setting(attr, self.getName().lower(), default = default) return Env.setting(attr, self.getName().lower(), default = default)
+2 -1
View File
@@ -1,12 +1,13 @@
from couchpotato.api import addApiView from couchpotato.api import addApiView
from couchpotato.core.helpers.request import getParam, jsonified from couchpotato.core.helpers.request import getParam, jsonified
from couchpotato.core.plugins.base import Plugin
import os import os
import string import string
if os.name == 'nt': if os.name == 'nt':
import win32file import win32file
class FileBrowser(): class FileBrowser(Plugin):
def __init__(self): def __init__(self):
addApiView('directory.list', self.view) addApiView('directory.list', self.view)
@@ -3,5 +3,7 @@ from couchpotato.core.plugins.base import Plugin
class Extension(Plugin): class Extension(Plugin):
auto_register_static = False
def __init__(self): def __init__(self):
self.registerStatic(__file__, add_to_head = False) self.registerStatic(__file__, add_to_head = False)
-2
View File
@@ -25,8 +25,6 @@ class FileManager(Plugin):
addApiView('file.cache/<path:file>', self.showImage) addApiView('file.cache/<path:file>', self.showImage)
self.registerStatic(__file__)
def showImage(self, file = ''): def showImage(self, file = ''):
cache_dir = Env.get('cache_dir') cache_dir = Env.get('cache_dir')
+1 -1
View File
@@ -100,6 +100,6 @@ class LibraryPlugin(Plugin):
library_dict = library.to_dict({'titles': {}, 'files':{}}) library_dict = library.to_dict({'titles': {}, 'files':{}})
fireEvent('notify.core', type = 'library.update', data = library_dict) fireEvent('library.update', data = library_dict)
return library_dict return library_dict
@@ -10,8 +10,6 @@ class MetaData(Plugin):
def __init__(self): def __init__(self):
addEvent('renaming.after', self.add) addEvent('renaming.after', self.add)
self.registerStatic(__file__)
addEvent('app.load', self.add) addEvent('app.load', self.add)
def add(self, data = {}): def add(self, data = {}):
-2
View File
@@ -19,8 +19,6 @@ class MoviePlugin(Plugin):
addApiView('movie.edit', self.edit) addApiView('movie.edit', self.edit)
addApiView('movie.delete', self.delete) addApiView('movie.delete', self.delete)
self.registerStatic(__file__)
def list(self): def list(self):
params = getParams() params = getParams()
-2
View File
@@ -17,8 +17,6 @@ class ProfilePlugin(Plugin):
addApiView('profile.save', self.save) addApiView('profile.save', self.save)
addApiView('profile.delete', self.delete) addApiView('profile.delete', self.delete)
self.registerStatic(__file__)
def all(self): def all(self):
db = get_session() db = get_session()
-2
View File
@@ -33,8 +33,6 @@ class QualityPlugin(Plugin):
addEvent('quality.guess', self.guess) addEvent('quality.guess', self.guess)
addEvent('app.load', self.fill) addEvent('app.load', self.fill)
self.registerStatic(__file__)
def all(self): def all(self):
db = get_session() db = get_session()
-2
View File
@@ -26,8 +26,6 @@ class StatusPlugin(Plugin):
addEvent('status.all', self.all) addEvent('status.all', self.all)
addEvent('app.load', self.fill) addEvent('app.load', self.fill)
self.registerStatic(__file__)
def all(self): def all(self):
db = get_session() db = get_session()
+1 -4
View File
@@ -1,4 +1,3 @@
from couchpotato.core.event import fireEvent
from couchpotato.core.logger import CPLog from couchpotato.core.logger import CPLog
from couchpotato.core.plugins.base import Plugin from couchpotato.core.plugins.base import Plugin
@@ -6,6 +5,4 @@ log = CPLog(__name__)
class Wizard(Plugin): class Wizard(Plugin):
pass
def __init__(self):
self.registerStatic(__file__)
@@ -1,8 +1,6 @@
from couchpotato.core.event import addEvent from couchpotato.core.event import addEvent
from couchpotato.core.logger import CPLog from couchpotato.core.logger import CPLog
from couchpotato.core.plugins.base import Plugin from couchpotato.core.plugins.base import Plugin
from couchpotato.environment import Env
import os
log = CPLog(__name__) log = CPLog(__name__)
@@ -1,4 +1,6 @@
from .main import IMDB
def start(): def start():
pass return IMDB()
config = [] config = []
@@ -31,11 +31,6 @@ class Newznab(NZBProvider, RSS):
time_between_searches = 1 # Seconds time_between_searches = 1 # Seconds
def __init__(self):
super(NZBProvider, self).__init__()
self.registerStatic(__file__)
def feed(self): def feed(self):
hosts = self.getHosts() hosts = self.getHosts()