diff options
author | 2015-08-09 00:50:54 +0200 | |
---|---|---|
committer | 2015-08-09 00:50:54 +0200 | |
commit | b0ef3f1673e1930916604bb1264ca3a38414bc8d (patch) | |
tree | c97936e4d2a4cd6eb1072c65c8a08a7d18816b18 /module/plugins/hooks/DeleteFinished.py | |
parent | [XFileSharingPro][XFileSharingProFolder] Added default __pattern__ (diff) | |
parent | Fix https://github.com/pyload/pyload/issues/1707 (diff) | |
download | pyload-b0ef3f1673e1930916604bb1264ca3a38414bc8d.tar.xz |
Merge pull request #1 from pyload/stable
sync with stable
Diffstat (limited to 'module/plugins/hooks/DeleteFinished.py')
-rw-r--r-- | module/plugins/hooks/DeleteFinished.py | 54 |
1 files changed, 28 insertions, 26 deletions
diff --git a/module/plugins/hooks/DeleteFinished.py b/module/plugins/hooks/DeleteFinished.py index be17c3c0f..75a282808 100644 --- a/module/plugins/hooks/DeleteFinished.py +++ b/module/plugins/hooks/DeleteFinished.py @@ -1,13 +1,14 @@ # -*- coding: utf-8 -*- from module.database import style -from module.plugins.Hook import Hook +from module.plugins.internal.Addon import Addon -class DeleteFinished(Hook): +class DeleteFinished(Addon): __name__ = "DeleteFinished" __type__ = "hook" - __version__ = "1.12" + __version__ = "1.14" + __status__ = "testing" __config__ = [("interval" , "int" , "Check interval in hours" , 72 ), ("deloffline", "bool", "Delete package with offline links", False)] @@ -21,59 +22,60 @@ class DeleteFinished(Hook): ## overwritten methods ## - def setup(self): - self.info = {} #@TODO: Remove in 0.4.10 - # self.event_list = ["pluginConfigChanged"] + def init(self): + # self.event_map = {'pluginConfigChanged': "plugin_config_changed"} self.interval = self.MIN_CHECK_INTERVAL def periodical(self): if not self.info['sleep']: - deloffline = self.getConfig('deloffline') - mode = '0,1,4' if deloffline else '0,4' + deloffline = self.get_config('deloffline') + mode = "0,1,4" if deloffline else "0,4" msg = _('delete all finished packages in queue list (%s packages with offline links)') - self.logInfo(msg % (_('including') if deloffline else _('excluding'))) - self.deleteFinished(mode) + self.log_info(msg % (_('including') if deloffline else _('excluding'))) + self.delete_finished(mode) self.info['sleep'] = True - self.addEvent('packageFinished', self.wakeup) + self.add_event('package_finished', self.wakeup) - # def pluginConfigChanged(self, plugin, name, value): - # if name == "interval" and value != self.interval: + # def plugin_config_changed(self, plugin, name, value): + # if name == "interval" and value is not self.interval: # self.interval = value * 3600 - # self.initPeriodical() + # self.init_periodical() - def unload(self): - self.manager.removeEvent('packageFinished', self.wakeup) + def deactivate(self): + self.manager.removeEvent('package_finished', self.wakeup) - def coreReady(self): + def activate(self): self.info['sleep'] = True - # interval = self.getConfig('interval') - # self.pluginConfigChanged(self.__name__, 'interval', interval) - self.interval = max(self.MIN_CHECK_INTERVAL, self.getConfig('interval') * 60 * 60) - self.addEvent('packageFinished', self.wakeup) + # interval = self.get_config('interval') + # self.plugin_config_changed(self.__name__, 'interval', interval) + self.interval = max(self.MIN_CHECK_INTERVAL, self.get_config('interval') * 60 * 60) + self.add_event('package_finished', self.wakeup) ## own methods ## @style.queue - def deleteFinished(self, mode): + def delete_finished(self, mode): self.c.execute('DELETE FROM packages WHERE NOT EXISTS(SELECT 1 FROM links WHERE package=packages.id AND status NOT IN (%s))' % mode) self.c.execute('DELETE FROM links WHERE NOT EXISTS(SELECT 1 FROM packages WHERE id=links.package)') def wakeup(self, pypack): - self.manager.removeEvent('packageFinished', self.wakeup) + self.manager.removeEvent('package_finished', self.wakeup) self.info['sleep'] = False ## event managing ## - def addEvent(self, event, func): - """Adds an event listener for event name""" + def add_event(self, event, func): + """ + Adds an event listener for event name + """ if event in self.manager.events: if func in self.manager.events[event]: - self.logDebug("Function already registered", func) + self.log_debug("Function already registered", func) else: self.manager.events[event].append(func) else: |