From 16af85004c84d0d6c626b4f8424ce9647669a0c1 Mon Sep 17 00:00:00 2001
From: RaNaN <Mast3rRaNaN@hotmail.de>
Date: Sun, 9 Jun 2013 18:10:22 +0200
Subject: moved everything from module to pyload

---
 module/plugins/Addon.py | 205 ------------------------------------------------
 1 file changed, 205 deletions(-)
 delete mode 100644 module/plugins/Addon.py

(limited to 'module/plugins/Addon.py')

diff --git a/module/plugins/Addon.py b/module/plugins/Addon.py
deleted file mode 100644
index ff9c57bef..000000000
--- a/module/plugins/Addon.py
+++ /dev/null
@@ -1,205 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 3 of the License,
-    or (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-    See the GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, see <http://www.gnu.org/licenses/>.
-    
-    @author: RaNaN
-"""
-
-from traceback import print_exc
-
-#from functools import wraps
-from module.utils import has_method, to_list
-
-from Base import Base
-
-def class_name(p):
-    return p.rpartition(".")[2]
-
-
-def AddEventListener(event):
-    """ Used to register method for events. Arguments needs to match parameter of event
-
-    :param event: Name of event or list of them.
-    """
-    class _klass(object):
-        def __new__(cls, f, *args, **kwargs):
-            for ev in to_list(event):
-                addonManager.addEventListener(class_name(f.__module__), f.func_name, ev)
-            return f
-    return _klass
-
-class ConfigHandler(object):
-    """ Register method as config handler.
-
-    Your method signature has to be:
-        def foo(value=None):
-
-    value will be passed to use your method to set the config.
-    When value is None your method needs to return an interaction task for configuration.
-    """
-
-    def __new__(cls, f, *args, **kwargs):
-        addonManager.addConfigHandler(class_name(f.__module__), f.func_name)
-        return f
-
-def AddonHandler(desc, media=None):
-    """ Register Handler for files, packages, or arbitrary callable methods.
-        To let the method work on packages/files, media must be set and the argument named pid or fid.
-
-    :param desc: verbose description
-    :param media: if True or bits of media type
-    """
-    pass
-
-def AddonInfo(desc):
-    """ Called to retrieve information about the current state.
-    Decorated method must return anything convertable into string.
-
-    :param desc: verbose description
-    """
-    pass
-
-def threaded(f):
-    """ Decorator to run method in a thread. """
-
-    #@wraps(f)
-    def run(*args,**kwargs):
-        addonManager.startThread(f, *args, **kwargs)
-    return run
-
-class Addon(Base):
-    """
-    Base class for addon plugins. Use @threaded decorator for all longer running tasks.
-
-    Decorate methods with @Expose, @AddEventListener, @ConfigHandler
-
-    """
-
-    #: automatically register event listeners for functions, attribute will be deleted don't use it yourself
-    event_map = None
-
-    # Alternative to event_map
-    #: List of events the plugin can handle, name the functions exactly like eventname.
-    event_list = None  # dont make duplicate entries in event_map
-
-    #: periodic call interval in seconds
-    interval = 60
-
-    def __init__(self, core, manager, user=None):
-        Base.__init__(self, core, user)
-
-        #: Provide information in dict here, usable by API `getInfo`
-        self.info = None
-
-        #: Callback of periodical job task, used by addonmanager
-        self.cb = None
-
-        #: `AddonManager`
-        self.manager = manager
-
-        #register events
-        if self.event_map:
-            for event, funcs in self.event_map.iteritems():
-                if type(funcs) in (list, tuple):
-                    for f in funcs:
-                        self.evm.addEvent(event, getattr(self,f))
-                else:
-                    self.evm.addEvent(event, getattr(self,funcs))
-
-            #delete for various reasons
-            self.event_map = None
-
-        if self.event_list:
-            for f in self.event_list:
-                self.evm.addEvent(f, getattr(self,f))
-
-            self.event_list = None
-
-        self.initPeriodical()
-        self.init()
-        self.setup()
-
-    def initPeriodical(self):
-        if self.interval >=1:
-            self.cb = self.core.scheduler.addJob(0, self._periodical, threaded=False)
-
-    def _periodical(self):
-        try:
-            if self.isActivated(): self.periodical()
-        except Exception, e:
-            self.core.log.error(_("Error executing addons: %s") % str(e))
-            if self.core.debug:
-                print_exc()
-
-        self.cb = self.core.scheduler.addJob(self.interval, self._periodical, threaded=False)
-
-    def __repr__(self):
-        return "<Addon %s>" % self.__name__
-
-    def isActivated(self):
-        """ checks if addon is activated"""
-        return True if self.__internal__ else self.getConfig("activated")
-
-    def getCategory(self):
-        return self.core.pluginManager.getCategory(self.__name__)
-
-    def init(self):
-        pass
-
-    def setup(self):
-        """ more init stuff if needed """
-        pass
-
-    def activate(self):
-        """  Used to activate the addon """
-        if has_method(self.__class__, "coreReady"):
-            self.logDebug("Deprecated method .coreReady() use activate() instead")
-            self.coreReady()
-
-    def deactivate(self):
-        """ Used to deactivate the addon. """
-        pass
-
-    def periodical(self):
-        pass
-
-    def newInteractionTask(self, task):
-        """ new interaction task for the plugin, it MUST set the handler and timeout or will be ignored """
-        pass
-
-    def taskCorrect(self, task):
-        pass
-
-    def taskInvalid(self, task):
-        pass
-
-    # public events starts from here
-    def downloadPreparing(self, pyfile):
-        pass
-    
-    def downloadFinished(self, pyfile):
-        pass
-
-    def downloadFailed(self, pyfile):
-        pass
-
-    def packageFinished(self, pypack):
-        pass
-
-    def beforeReconnecting(self, ip):
-        pass
-    
-    def afterReconnecting(self, ip):
-        pass
\ No newline at end of file
-- 
cgit v1.2.3