summaryrefslogtreecommitdiffstats
path: root/module/plugins/hooks
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/hooks')
-rw-r--r--module/plugins/hooks/Checksum.py4
-rw-r--r--module/plugins/hooks/ClickAndLoad.py6
-rw-r--r--module/plugins/hooks/DeleteFinished.py4
-rw-r--r--module/plugins/hooks/ExternalScripts.py36
-rw-r--r--module/plugins/hooks/ExtractArchive.py32
-rw-r--r--module/plugins/hooks/IRCInterface.py4
-rw-r--r--module/plugins/hooks/MergeFiles.py4
-rw-r--r--module/plugins/hooks/MultiHome.py4
-rw-r--r--module/plugins/hooks/UnSkipOnFail.py2
-rw-r--r--module/plugins/hooks/UpdateManager.py19
-rw-r--r--module/plugins/hooks/XMPPInterface.py53
11 files changed, 102 insertions, 66 deletions
diff --git a/module/plugins/hooks/Checksum.py b/module/plugins/hooks/Checksum.py
index 9287fda9c..912a1ba1f 100644
--- a/module/plugins/hooks/Checksum.py
+++ b/module/plugins/hooks/Checksum.py
@@ -104,7 +104,7 @@ class Checksum(Hook):
self.checkFailed(pyfile, None, "No file downloaded")
local_file = fs_encode(pyfile.plugin.lastDownload)
- #download_folder = self.core.config['general']['download_folder']
+ #download_folder = self.core.config.get("general", "download_folder")
#local_file = fs_encode(fs_join(download_folder, pyfile.package().folder, pyfile.name))
if not os.path.isfile(local_file):
@@ -165,7 +165,7 @@ class Checksum(Hook):
def package_finished(self, pypack):
- download_folder = fs_join(self.core.config['general']['download_folder'], pypack.folder, "")
+ download_folder = fs_join(self.core.config.get("general", "download_folder"), pypack.folder, "")
for link in pypack.getChildren().itervalues():
file_type = os.path.splitext(link['name'])[1][1:].lower()
diff --git a/module/plugins/hooks/ClickAndLoad.py b/module/plugins/hooks/ClickAndLoad.py
index 81a446ef3..f7431ebac 100644
--- a/module/plugins/hooks/ClickAndLoad.py
+++ b/module/plugins/hooks/ClickAndLoad.py
@@ -49,11 +49,11 @@ class ClickAndLoad(Hook):
def activate(self):
- if not self.core.config['webinterface']['activated']:
+ if not self.core.config.get("webinterface", "activated"):
return
ip = "" if self.getConfig('extern') else "127.0.0.1"
- webport = self.core.config['webinterface']['port']
+ webport = self.core.config.get("webinterface", "port")
cnlport = self.getConfig('port')
self.proxy(ip, webport, cnlport)
@@ -85,7 +85,7 @@ class ClickAndLoad(Hook):
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- if self.core.config['webinterface']['https']:
+ if self.core.config.get("webinterface", "https"):
try:
server_socket = ssl.wrap_socket(server_socket)
diff --git a/module/plugins/hooks/DeleteFinished.py b/module/plugins/hooks/DeleteFinished.py
index 38d2a7ed0..86532cdad 100644
--- a/module/plugins/hooks/DeleteFinished.py
+++ b/module/plugins/hooks/DeleteFinished.py
@@ -70,7 +70,9 @@ class DeleteFinished(Hook):
## event managing ##
def addEvent(self, event, func):
- """Adds an event listener for event name"""
+ """
+ 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)
diff --git a/module/plugins/hooks/ExternalScripts.py b/module/plugins/hooks/ExternalScripts.py
index 6b3d21d68..29b43929e 100644
--- a/module/plugins/hooks/ExternalScripts.py
+++ b/module/plugins/hooks/ExternalScripts.py
@@ -126,10 +126,10 @@ class ExternalScripts(Hook):
def download_failed(self, pyfile):
- if self.core.config['general']['folder_per_package']:
- download_folder = fs_join(self.core.config['general']['download_folder'], pyfile.package().folder)
+ if self.core.config.get("general", "folder_per_package"):
+ download_folder = fs_join(self.core.config.get("general", "download_folder"), pyfile.package().folder)
else:
- download_folder = self.core.config['general']['download_folder']
+ download_folder = self.core.config.get("general", "download_folder")
for script in self.scripts['download_failed']:
file = fs_join(download_folder, pyfile.name)
@@ -137,10 +137,10 @@ class ExternalScripts(Hook):
def download_finished(self, pyfile):
- if self.core.config['general']['folder_per_package']:
- download_folder = fs_join(self.core.config['general']['download_folder'], pyfile.package().folder)
+ if self.core.config.get("general", "folder_per_package"):
+ download_folder = fs_join(self.core.config.get("general", "download_folder"), pyfile.package().folder)
else:
- download_folder = self.core.config['general']['download_folder']
+ download_folder = self.core.config.get("general", "download_folder")
for script in self.scripts['download_finished']:
file = fs_join(download_folder, pyfile.name)
@@ -158,10 +158,10 @@ class ExternalScripts(Hook):
def package_finished(self, pypack):
- if self.core.config['general']['folder_per_package']:
- download_folder = fs_join(self.core.config['general']['download_folder'], pypack.folder)
+ if self.core.config.get("general", "folder_per_package"):
+ download_folder = fs_join(self.core.config.get("general", "download_folder"), pypack.folder)
else:
- download_folder = self.core.config['general']['download_folder']
+ download_folder = self.core.config.get("general", "download_folder")
for script in self.scripts['package_finished']:
self.callScript(script, pypack.id, pypack.name, download_folder, pypack.password)
@@ -170,30 +170,30 @@ class ExternalScripts(Hook):
def packageDeleted(self, pid):
pack = self.core.api.getPackageInfo(pid)
- if self.core.config['general']['folder_per_package']:
- download_folder = fs_join(self.core.config['general']['download_folder'], pack.folder)
+ if self.core.config.get("general", "folder_per_package"):
+ download_folder = fs_join(self.core.config.get("general", "download_folder"), pack.folder)
else:
- download_folder = self.core.config['general']['download_folder']
+ download_folder = self.core.config.get("general", "download_folder")
for script in self.scripts['package_deleted']:
self.callScript(script, pack.id, pack.name, download_folder, pack.password)
def package_extract_failed(self, pypack):
- if self.core.config['general']['folder_per_package']:
- download_folder = fs_join(self.core.config['general']['download_folder'], pypack.folder)
+ if self.core.config.get("general", "folder_per_package"):
+ download_folder = fs_join(self.core.config.get("general", "download_folder"), pypack.folder)
else:
- download_folder = self.core.config['general']['download_folder']
+ download_folder = self.core.config.get("general", "download_folder")
for script in self.scripts['package_extract_failed']:
self.callScript(script, pypack.id, pypack.name, download_folder, pypack.password)
def package_extracted(self, pypack):
- if self.core.config['general']['folder_per_package']:
- download_folder = fs_join(self.core.config['general']['download_folder'], pypack.folder)
+ if self.core.config.get("general", "folder_per_package"):
+ download_folder = fs_join(self.core.config.get("general", "download_folder"), pypack.folder)
else:
- download_folder = self.core.config['general']['download_folder']
+ download_folder = self.core.config.get("general", "download_folder")
for script in self.scripts['package_extracted']:
self.callScript(script, pypack.id, pypack.name, download_folder)
diff --git a/module/plugins/hooks/ExtractArchive.py b/module/plugins/hooks/ExtractArchive.py
index c9f368e9f..ee41068eb 100644
--- a/module/plugins/hooks/ExtractArchive.py
+++ b/module/plugins/hooks/ExtractArchive.py
@@ -25,8 +25,10 @@ if sys.version_info < (2, 7) and os.name != "nt":
# unsued timeout option for older python version
def wait(self, timeout=0):
- """Wait for child process to terminate. Returns returncode
- attribute."""
+ """
+ Wait for child process to terminate. Returns returncode
+ attribute.
+ """
if self.returncode is None:
try:
pid, sts = _eintr_retry_call(os.waitpid, self.pid, 0)
@@ -209,7 +211,9 @@ class ExtractArchive(Hook):
@Expose
def extractPackage(self, *ids):
- """ Extract packages with given id"""
+ """
+ Extract packages with given id
+ """
for id in ids:
self.queue.add(id)
if not self.getConfig('waitall') and not self.extracting:
@@ -261,7 +265,7 @@ class ExtractArchive(Hook):
# reload from txt file
self.reloadPasswords()
- download_folder = self.core.config['general']['download_folder']
+ download_folder = self.core.config.get("general", "download_folder")
# iterate packages -> extractors -> targets
for pid in ids:
@@ -510,7 +514,9 @@ class ExtractArchive(Hook):
@Expose
def getPasswords(self, reload=True):
- """ List of saved passwords """
+ """
+ List of saved passwords
+ """
if reload:
self.reloadPasswords()
@@ -535,7 +541,9 @@ class ExtractArchive(Hook):
@Expose
def addPassword(self, password):
- """ Adds a password to saved list"""
+ """
+ Adds a password to saved list
+ """
try:
self.passwords = uniqify([password] + self.passwords)
@@ -554,16 +562,16 @@ class ExtractArchive(Hook):
continue
try:
- if self.core.config['permission']['change_file']:
+ if self.core.config.get("permission", "change_file"):
if os.path.isfile(f):
- os.chmod(f, int(self.core.config['permission']['file'], 8))
+ os.chmod(f, int(self.core.config.get("permission", "file"), 8))
elif os.path.isdir(f):
- os.chmod(f, int(self.core.config['permission']['folder'], 8))
+ os.chmod(f, int(self.core.config.get("permission", "folder"), 8))
- if self.core.config['permission']['change_dl'] and os.name != "nt":
- uid = getpwnam(self.core.config['permission']['user'])[2]
- gid = getgrnam(self.core.config['permission']['group'])[2]
+ if self.core.config.get("permission", "change_dl") and os.name != "nt":
+ uid = getpwnam(self.core.config.get("permission", "user"))[2]
+ gid = getgrnam(self.core.config.get("permission", "group"))[2]
os.chown(f, uid, gid)
except Exception, e:
diff --git a/module/plugins/hooks/IRCInterface.py b/module/plugins/hooks/IRCInterface.py
index 9176f2d2c..d50fd6107 100644
--- a/module/plugins/hooks/IRCInterface.py
+++ b/module/plugins/hooks/IRCInterface.py
@@ -392,7 +392,9 @@ class IRCInterface(Thread, Hook):
def event_c(self, args):
- """ captcha answer """
+ """
+ Captcha answer
+ """
if not args:
return ["ERROR: Captcha ID missing."]
diff --git a/module/plugins/hooks/MergeFiles.py b/module/plugins/hooks/MergeFiles.py
index 0b0f7e475..64ab50400 100644
--- a/module/plugins/hooks/MergeFiles.py
+++ b/module/plugins/hooks/MergeFiles.py
@@ -43,9 +43,9 @@ class MergeFiles(Hook):
files[data['name'][:-4]].sort()
fid_dict[data['name']] = fid
- download_folder = self.core.config['general']['download_folder']
+ download_folder = self.core.config.get("general", "download_folder")
- if self.core.config['general']['folder_per_package']:
+ if self.core.config.get("general", "folder_per_package"):
download_folder = fs_join(download_folder, pack.folder)
for name, file_list in files.iteritems():
diff --git a/module/plugins/hooks/MultiHome.py b/module/plugins/hooks/MultiHome.py
index fe7f39a12..790d5dab3 100644
--- a/module/plugins/hooks/MultiHome.py
+++ b/module/plugins/hooks/MultiHome.py
@@ -12,7 +12,7 @@ class MultiHome(Hook):
__config__ = [("interfaces", "str", "Interfaces", "None")]
- __description__ = """Ip address changer"""
+ __description__ = """IP address changer"""
__license__ = "GPLv3"
__authors__ = [("mkaay", "mkaay@mkaay.de")]
@@ -28,7 +28,7 @@ class MultiHome(Hook):
self.parseInterfaces(self.getConfig('interfaces').split(";"))
if not self.interfaces:
- self.parseInterfaces([self.core.config['download']['interface']])
+ self.parseInterfaces([self.core.config.get("download", "interface")])
self.setConfig("interfaces", self.toConfig())
diff --git a/module/plugins/hooks/UnSkipOnFail.py b/module/plugins/hooks/UnSkipOnFail.py
index 234e1052b..9ba53a698 100644
--- a/module/plugins/hooks/UnSkipOnFail.py
+++ b/module/plugins/hooks/UnSkipOnFail.py
@@ -55,7 +55,7 @@ class UnSkipOnFail(Hook):
def findDuplicate(self, pyfile):
- """ Search all packages for duplicate links to "pyfile".
+ """Search all packages for duplicate links to "pyfile".
Duplicates are links that would overwrite "pyfile".
To test on duplicity the package-folder and link-name
of twolinks are compared (link.name).
diff --git a/module/plugins/hooks/UpdateManager.py b/module/plugins/hooks/UpdateManager.py
index 26b0cc448..0a89405e7 100644
--- a/module/plugins/hooks/UpdateManager.py
+++ b/module/plugins/hooks/UpdateManager.py
@@ -97,7 +97,9 @@ class UpdateManager(Hook):
@Expose
def autoreloadPlugins(self):
- """ reload and reindex all modified plugins """
+ """
+ Reload and reindex all modified plugins
+ """
modules = filter(
lambda m: m and (m.__name__.startswith("module.plugins.") or
m.__name__.startswith("userplugins.")) and
@@ -137,8 +139,9 @@ class UpdateManager(Hook):
@Expose
@threaded
def update(self):
- """ check for updates """
-
+ """
+ Check for updates
+ """
if self._update() is 2 and self.getConfig('autorestart'):
if not self.core.api.statusDownloads():
self.core.api.restart()
@@ -179,8 +182,9 @@ class UpdateManager(Hook):
def _updatePlugins(self, data):
- """ check for plugin updates """
-
+ """
+ Check for plugin updates
+ """
exitcode = 0
updated = []
@@ -290,8 +294,9 @@ class UpdateManager(Hook):
@Expose
def removePlugins(self, type_plugins):
- """ delete plugins from disk """
-
+ """
+ Delete plugins from disk
+ """
if not type_plugins:
return
diff --git a/module/plugins/hooks/XMPPInterface.py b/module/plugins/hooks/XMPPInterface.py
index f93273df4..847fb26c3 100644
--- a/module/plugins/hooks/XMPPInterface.py
+++ b/module/plugins/hooks/XMPPInterface.py
@@ -92,9 +92,11 @@ class XMPPInterface(IRCInterface, JabberClient):
def stream_state_changed(self, state, arg):
- """This one is called when the state of stream connecting the component
+ """
+ This one is called when the state of stream connecting the component
to a server changes. This will usually be used to let the user
- know what is going on."""
+ know what is going on.
+ """
self.logDebug("*** State changed: %s %r ***" % (state, arg))
@@ -111,15 +113,19 @@ class XMPPInterface(IRCInterface, JabberClient):
def get_message_handlers(self):
- """Return list of (message_type, message_handler) tuples.
+ """
+ Return list of (message_type, message_handler) tuples.
The handlers returned will be called when matching message is received
- in a client session."""
+ in a client session.
+ """
return [("normal", self.message)]
def message(self, stanza):
- """Message handler for the component."""
+ """
+ Message handler for the component.
+ """
subject = stanza.get_subject()
body = stanza.get_body()
t = stanza.get_type()
@@ -181,7 +187,9 @@ class XMPPInterface(IRCInterface, JabberClient):
def announce(self, message):
- """ send message to all owners"""
+ """
+ Send message to all owners
+ """
for user in self.getConfig('owners').split(";"):
self.logDebug("Send message to", user)
@@ -209,42 +217,53 @@ class XMPPInterface(IRCInterface, JabberClient):
class VersionHandler(object):
- """Provides handler for a version query.
+ """
+ Provides handler for a version query.
This class will answer version query and announce 'jabber:iq:version' namespace
- in the client's disco#info results."""
-
+ in the client's disco#info results.
+ """
implements(IIqHandlersProvider, IFeaturesProvider)
def __init__(self, client):
- """Just remember who created this."""
+ """
+ Just remember who created this.
+ """
self.client = client
def get_features(self):
- """Return namespace which should the client include in its reply to a
- disco#info query."""
+ """
+ Return namespace which should the client include in its reply to a
+ disco#info query.
+ """
return ["jabber:iq:version"]
def get_iq_get_handlers(self):
- """Return list of tuples (element_name, namespace, handler) describing
- handlers of <iq type='get'/> stanzas"""
+ """
+ Return list of tuples (element_name, namespace, handler) describing
+ handlers of <iq type='get'/> stanzas
+ """
return [("query", "jabber:iq:version", self.get_version)]
def get_iq_set_handlers(self):
- """Return empty list, as this class provides no <iq type='set'/> stanza handler."""
+ """
+ Return empty list, as this class provides no <iq type='set'/> stanza handler.
+ """
return []
def get_version(self, iq):
- """Handler for jabber:iq:version queries.
+ """
+ Handler for jabber:iq:version queries.
jabber:iq:version queries are not supported directly by PyXMPP, so the
XML node is accessed directly through the libxml2 API. This should be
- used very carefully!"""
+ used very carefully!
+ """
iq = iq.make_result_response()
q = iq.new_query("jabber:iq:version")
q.newTextChild(q.ns(), "name", "Echo component")