summaryrefslogtreecommitdiffstats
path: root/module/plugins/hooks
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/hooks')
-rw-r--r--module/plugins/hooks/AndroidPhoneNotify.py79
-rw-r--r--module/plugins/hooks/ClickAndLoad.py20
-rw-r--r--module/plugins/hooks/ExternalScripts.py4
-rw-r--r--module/plugins/hooks/ExtractArchive.py42
-rw-r--r--module/plugins/hooks/IRCInterface.py8
-rw-r--r--module/plugins/hooks/ImageTyperz.py2
-rw-r--r--module/plugins/hooks/LinkdecrypterCom.py9
-rw-r--r--module/plugins/hooks/RehostTo.py4
-rw-r--r--module/plugins/hooks/SkipRev.py4
-rw-r--r--module/plugins/hooks/SmoozedCom.py4
-rw-r--r--module/plugins/hooks/UpdateManager.py8
-rw-r--r--module/plugins/hooks/WindowsPhoneToastNotify.py91
-rw-r--r--module/plugins/hooks/XFileSharingPro.py8
-rw-r--r--module/plugins/hooks/XMPPInterface.py6
14 files changed, 194 insertions, 95 deletions
diff --git a/module/plugins/hooks/AndroidPhoneNotify.py b/module/plugins/hooks/AndroidPhoneNotify.py
new file mode 100644
index 000000000..fbc2acd5c
--- /dev/null
+++ b/module/plugins/hooks/AndroidPhoneNotify.py
@@ -0,0 +1,79 @@
+# -*- coding: utf-8 -*-
+
+from time import time
+
+from module.network.RequestFactory import getURL
+from module.plugins.Hook import Hook
+
+
+class AndroidPhoneNotify(Hook):
+ __name__ = "AndroidPhoneNotify"
+ __type__ = "hook"
+ __version__ = "0.03"
+
+ __config__ = [("apikey" , "str" , "API key" , "" ),
+ ("notifycaptcha" , "bool", "Notify captcha request" , True ),
+ ("notifypackage" , "bool", "Notify package finished" , True ),
+ ("notifyprocessed", "bool", "Notify processed packages status" , True ),
+ ("timeout" , "int" , "Timeout between captchas in seconds" , 5 ),
+ ("force" , "bool", "Send notifications if client is connected", False)]
+
+ __description__ = """Send push notifications to your Android Phone using notifymyandroid.com"""
+ __license__ = "GPLv3"
+ __authors__ = [("Steven Kosyra", "steven.kosyra@gmail.com"),
+ ("Walter Purcaro", "vuolter@gmail.com")]
+
+
+ event_list = ["allDownloadsProcessed"]
+
+
+ #@TODO: Remove in 0.4.10
+ def initPeriodical(self):
+ pass
+
+
+ def setup(self):
+ self.info = {} #@TODO: Remove in 0.4.10
+
+
+ def newCaptchaTask(self, task):
+ if not self.getConfig("notifycaptcha"):
+ return False
+
+ if time() - float(self.getStorage("AndroidPhoneNotify", 0)) < self.getConf("timeout"):
+ return False
+
+ self.notify(_("Captcha"), _("New request waiting user input"))
+
+
+ def packageFinished(self, pypack):
+ if self.getConfig("notifypackage"):
+ self.notify(_("Package finished"), pypack.name)
+
+
+ def allDownloadsProcessed(self):
+ if not self.getConfig("notifyprocessed"):
+ return False
+
+ if any(True for pdata in self.core.api.getQueue() if pdata.linksdone < pdata.linkstotal):
+ self.notify(_("Package failed"), _("One or more packages was not completed successfully"))
+ else:
+ self.notify(_("All packages finished"))
+
+
+ def notify(self, event, msg=""):
+ apikey = self.getConfig("apikey")
+
+ if not apikey:
+ return False
+
+ if self.core.isClientConnected() and not self.getConfig("force"):
+ return False
+
+ getURL("http://www.notifymyandroid.com/publicapi/notify",
+ get={'apikey' : apikey,
+ 'application': "pyLoad",
+ 'event' : event,
+ 'description': msg})
+
+ self.setStorage("AndroidPhoneNotify", time())
diff --git a/module/plugins/hooks/ClickAndLoad.py b/module/plugins/hooks/ClickAndLoad.py
index 8ef31ec1e..222310c25 100644
--- a/module/plugins/hooks/ClickAndLoad.py
+++ b/module/plugins/hooks/ClickAndLoad.py
@@ -3,6 +3,7 @@
import socket
from threading import Thread, Lock
+from time import sleep
from module.plugins.Hook import Hook, threaded
@@ -20,7 +21,7 @@ def forward(source, destination):
class ClickAndLoad(Hook):
__name__ = "ClickAndLoad"
__type__ = "hook"
- __version__ = "0.25"
+ __version__ = "0.26"
__config__ = [("activated", "bool", "Activated" , True ),
("port" , "int" , "Port" , 9666 ),
@@ -54,6 +55,8 @@ class ClickAndLoad(Hook):
def server(self, ip, webport, cnlport):
try:
dock_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+
+ dock_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
dock_socket.bind((ip, cnlport))
dock_socket.listen(5)
@@ -65,17 +68,8 @@ class ClickAndLoad(Hook):
hookManager.startThread(forward, client_socket, server_socket)
except socket.error, e:
- if hasattr(e, "errno"):
- errno = e.errno
- else:
- errno = e.args[0]
-
- if errno == 98:
- self.logWarning(_("Port %s already in use") % cnlport)
- else:
- self.logError(e)
- self.server(ip, webport, cnlport)
-
- except Exception, e:
self.logError(e)
self.server(ip, webport, cnlport)
+
+ finally:
+ dock_socket.close()
diff --git a/module/plugins/hooks/ExternalScripts.py b/module/plugins/hooks/ExternalScripts.py
index a35e47c03..b2b4548a2 100644
--- a/module/plugins/hooks/ExternalScripts.py
+++ b/module/plugins/hooks/ExternalScripts.py
@@ -13,7 +13,7 @@ from module.utils import save_join
class ExternalScripts(Hook):
__name__ = "ExternalScripts"
__type__ = "hook"
- __version__ = "0.25"
+ __version__ = "0.27"
__config__ = [("activated", "bool", "Activated", True)]
@@ -59,7 +59,7 @@ class ExternalScripts(Hook):
if not exists(path):
try:
makedirs(path)
- except:
+ except Exception:
self.logDebug("Script folder %s not created" % folder)
return
diff --git a/module/plugins/hooks/ExtractArchive.py b/module/plugins/hooks/ExtractArchive.py
index 2e9efa2b0..bdbaf64af 100644
--- a/module/plugins/hooks/ExtractArchive.py
+++ b/module/plugins/hooks/ExtractArchive.py
@@ -58,7 +58,7 @@ from module.utils import save_join, uniqify
class ExtractArchive(Hook):
__name__ = "ExtractArchive"
__type__ = "hook"
- __version__ = "1.03"
+ __version__ = "1.04"
__config__ = [("activated" , "bool" , "Activated" , True ),
("fullpath" , "bool" , "Extract full path" , True ),
@@ -158,7 +158,7 @@ class ExtractArchive(Hook):
@threaded
- def allDownloadsProcessed(self, thread):
+ def allDownloadsProcessed(self):
local = copy(self.queue)
self.queue[:] = []
@@ -302,36 +302,36 @@ class ExtractArchive(Hook):
try:
progress = lambda x: pyfile.setProgress(x)
- encrypted = False
+ encrypted = True #@TODO: set to `False`
passwords = self.getPasswords()
- try:
- self.logInfo(basename(plugin.file), "Verifying...")
+ # try:
+ # self.logInfo(basename(plugin.file), "Verifying...")
- tmp_password = plugin.password
- plugin.password = "" #: Force verifying without password
+ # tmp_password = plugin.password
+ # plugin.password = "" #: Force verifying without password
- plugin.verify()
+ # plugin.verify()
- except PasswordError:
- encrypted = True
+ # except PasswordError:
+ # encrypted = True
- except CRCError:
- self.logWarning(basename(plugin.file), _("Archive damaged"))
+ # except CRCError:
+ # self.logWarning(basename(plugin.file), _("Archive damaged"))
- if not self.getConfig("repair"):
- raise CRCError
+ # if not self.getConfig("repair"):
+ # raise CRCError
- elif plugin.repair():
- self.logInfo(basename(plugin.file), _("Successfully repaired"))
+ # elif plugin.repair():
+ # self.logInfo(basename(plugin.file), _("Successfully repaired"))
- elif not self.getConfig("keepbroken"):
- raise ArchiveError(_("Broken archive"))
+ # elif not self.getConfig("keepbroken"):
+ # raise ArchiveError(_("Broken archive"))
- else:
- self.logInfo(basename(plugin.file), _("All OK"))
+ # else:
+ # self.logInfo(basename(plugin.file), _("All OK"))
- plugin.password = tmp_password
+ # plugin.password = tmp_password
if not encrypted:
plugin.extract(progress)
diff --git a/module/plugins/hooks/IRCInterface.py b/module/plugins/hooks/IRCInterface.py
index efd4e411d..98fa1d030 100644
--- a/module/plugins/hooks/IRCInterface.py
+++ b/module/plugins/hooks/IRCInterface.py
@@ -61,7 +61,7 @@ class IRCInterface(Thread, Hook):
try:
if self.getConfig("info_pack"):
self.response(_("Package finished: %s") % pypack.name)
- except:
+ except Exception:
pass
@@ -70,7 +70,7 @@ class IRCInterface(Thread, Hook):
if self.getConfig("info_file"):
self.response(
_("Download finished: %(name)s @ %(plugin)s ") % {"name": pyfile.name, "plugin": pyfile.pluginname})
- except:
+ except Exception:
pass
@@ -183,7 +183,7 @@ class IRCInterface(Thread, Hook):
trigger = temp[0]
if len(temp) > 1:
args = temp[1:]
- except:
+ except Exception:
pass
handler = getattr(self, "event_%s" % trigger, self.event_pass)
@@ -347,7 +347,7 @@ class IRCInterface(Thread, Hook):
return ["INFO: Added %d links to Package %s [#%d]" % (len(links), pack['name'], id)]
- except:
+ except Exception:
# create new package
id = self.core.api.addPackage(pack, links, 1)
return ["INFO: Created new Package %s [#%d] with %d links." % (pack, id, len(links))]
diff --git a/module/plugins/hooks/ImageTyperz.py b/module/plugins/hooks/ImageTyperz.py
index d448d1be9..768129e4a 100644
--- a/module/plugins/hooks/ImageTyperz.py
+++ b/module/plugins/hooks/ImageTyperz.py
@@ -69,7 +69,7 @@ class ImageTyperz(Hook):
try:
balance = float(res)
- except:
+ except Exception:
raise ImageTyperzException("Invalid response")
self.logInfo(_("Account balance: $%s left") % res)
diff --git a/module/plugins/hooks/LinkdecrypterCom.py b/module/plugins/hooks/LinkdecrypterCom.py
index d4924a687..f85a598bc 100644
--- a/module/plugins/hooks/LinkdecrypterCom.py
+++ b/module/plugins/hooks/LinkdecrypterCom.py
@@ -8,7 +8,7 @@ from module.plugins.internal.MultiHook import MultiHook
class LinkdecrypterCom(MultiHook):
__name__ = "LinkdecrypterCom"
__type__ = "hook"
- __version__ = "1.01"
+ __version__ = "1.02"
__config__ = [("pluginmode" , "all;listed;unlisted", "Use for plugins" , "all"),
("pluginlist" , "str" , "Plugin list (comma separated)" , "" ),
@@ -21,8 +21,5 @@ class LinkdecrypterCom(MultiHook):
def getCrypters(self):
- try:
- html = self.getURL("http://linkdecrypter.com/")
- return re.search(r'>Supported\(\d+\)</b>: <i>(.+?) \+ RSDF', html).group(1).split(', ')
- except Exception:
- return list()
+ return re.search(r'>Supported\(\d+\)</b>: <i>(.[\w.\-, ]+)',
+ self.getURL("http://linkdecrypter.com/").replace("(g)", "")).group(1).split(', ')
diff --git a/module/plugins/hooks/RehostTo.py b/module/plugins/hooks/RehostTo.py
index 0cb736d9c..ddb8b3eb0 100644
--- a/module/plugins/hooks/RehostTo.py
+++ b/module/plugins/hooks/RehostTo.py
@@ -6,7 +6,7 @@ from module.plugins.internal.MultiHook import MultiHook
class RehostTo(MultiHook):
__name__ = "RehostTo"
__type__ = "hook"
- __version__ = "0.49"
+ __version__ = "0.50"
__config__ = [("pluginmode" , "all;listed;unlisted", "Use for plugins" , "all"),
("pluginlist" , "str" , "Plugin list (comma separated)" , "" ),
@@ -25,5 +25,5 @@ class RehostTo(MultiHook):
user, data = self.account.selectAccount()
page = self.getURL("http://rehost.to/api.php",
get={'cmd' : "get_supported_och_dl",
- 'long_ses': self.account.getAccountData(user)['session']})
+ 'long_ses': self.account.getAccountInfo(user)['session']})
return [x.strip() for x in page.replace("\"", "").split(",")]
diff --git a/module/plugins/hooks/SkipRev.py b/module/plugins/hooks/SkipRev.py
index ad6d7dacd..51d385bb4 100644
--- a/module/plugins/hooks/SkipRev.py
+++ b/module/plugins/hooks/SkipRev.py
@@ -18,7 +18,7 @@ def _setup(self):
class SkipRev(Hook):
__name__ = "SkipRev"
__type__ = "hook"
- __version__ = "0.22"
+ __version__ = "0.24"
__config__ = [("tokeep", "int", "Number of rev files to keep for package (-1 to auto)", -1)]
@@ -34,7 +34,7 @@ class SkipRev(Hook):
def _pyname(self, pyfile):
if hasattr(pyfile.pluginmodule, "getInfo"):
- return getattr(pyfile.pluginmodule, "getInfo")([pyfile.url])[0][0]
+ return getattr(pyfile.pluginmodule, "getInfo")([pyfile.url]).next()[0]
else:
self.logWarning("Unable to grab file name")
return urlparse(unquote(pyfile.url)).path.split('/')[-1]
diff --git a/module/plugins/hooks/SmoozedCom.py b/module/plugins/hooks/SmoozedCom.py
index 4e706c959..9ba2daac9 100644
--- a/module/plugins/hooks/SmoozedCom.py
+++ b/module/plugins/hooks/SmoozedCom.py
@@ -6,7 +6,7 @@ from module.plugins.internal.MultiHook import MultiHook
class SmoozedCom(MultiHook):
__name__ = "SmoozedCom"
__type__ = "hook"
- __version__ = "0.02"
+ __version__ = "0.03"
__config__ = [("pluginmode" , "all;listed;unlisted", "Use for plugins" , "all"),
("pluginlist" , "str" , "Plugin list (comma separated)" , "" ),
@@ -23,4 +23,4 @@ class SmoozedCom(MultiHook):
def getHosters(self):
user, data = self.account.selectAccount()
- return self.account.getAccountData(user)["hosters"]
+ return self.account.getAccountInfo(user)["hosters"]
diff --git a/module/plugins/hooks/UpdateManager.py b/module/plugins/hooks/UpdateManager.py
index c72699228..b6a8bac7c 100644
--- a/module/plugins/hooks/UpdateManager.py
+++ b/module/plugins/hooks/UpdateManager.py
@@ -16,14 +16,14 @@ from module.utils import save_join
class UpdateManager(Hook):
__name__ = "UpdateManager"
__type__ = "hook"
- __version__ = "0.42"
+ __version__ = "0.43"
__config__ = [("activated" , "bool" , "Activated" , True ),
("mode" , "pyLoad + plugins;plugins only", "Check updates for" , "pyLoad + plugins"),
("interval" , "int" , "Check interval in hours" , 8 ),
("autorestart" , "bool" , "Automatically restart pyLoad when required" , True ),
("reloadplugins", "bool" , "Monitor plugins for code changes in debug mode", True ),
- ("nodebugupdate", "bool" , "Don't check for updates in debug mode" , True )]
+ ("nodebugupdate", "bool" , "Don't check for updates in debug mode" , False )]
__description__ = """ Check for updates """
__license__ = "GPLv3"
@@ -117,7 +117,7 @@ class UpdateManager(Hook):
def server_request(self):
try:
return getURL(self.SERVER_URL, get={'v': self.core.api.getServerVersion()}).splitlines()
- except:
+ except Exception:
self.logWarning(_("Unable to contact server to get updates"))
@@ -192,7 +192,7 @@ class UpdateManager(Hook):
# Protect UpdateManager from self-removing
try:
blacklisted.remove(("hook", "UpdateManager"))
- except:
+ except Exception:
pass
for t, n in blacklisted:
diff --git a/module/plugins/hooks/WindowsPhoneToastNotify.py b/module/plugins/hooks/WindowsPhoneToastNotify.py
index ed305778c..20686ee36 100644
--- a/module/plugins/hooks/WindowsPhoneToastNotify.py
+++ b/module/plugins/hooks/WindowsPhoneToastNotify.py
@@ -1,7 +1,8 @@
# -*- coding: utf-8 -*-
import httplib
-import time
+
+from time import time
from module.plugins.Hook import Hook
@@ -9,16 +10,23 @@ from module.plugins.Hook import Hook
class WindowsPhoneToastNotify(Hook):
__name__ = "WindowsPhoneToastNotify"
__type__ = "hook"
- __version__ = "0.03"
+ __version__ = "0.05"
- __config__ = [("force", "bool", "Force even if client is connected", False),
- ("pushId", "str", "pushId", ""),
- ("pushUrl", "str", "pushUrl", ""),
- ("pushTimeout", "int", "Timeout between notifications in seconds", 0)]
+ __config__ = [("id" , "str" , "Push ID" , "" ),
+ ("url" , "str" , "Push url" , "" ),
+ ("notifycaptcha" , "bool", "Notify captcha request" , True ),
+ ("notifypackage" , "bool", "Notify package finished" , True ),
+ ("notifyprocessed", "bool", "Notify processed packages status" , True ),
+ ("timeout" , "int" , "Timeout between captchas in seconds" , 5 ),
+ ("force" , "bool", "Send notifications if client is connected", False)]
__description__ = """Send push notifications to Windows Phone"""
__license__ = "GPLv3"
- __authors__ = [("Andy Voigt", "phone-support@hotmail.de")]
+ __authors__ = [("Andy Voigt", "phone-support@hotmail.de"),
+ ("Walter Purcaro", "vuolter@gmail.com")]
+
+
+ event_list = ["allDownloadsProcessed"]
#@TODO: Remove in 0.4.10
@@ -30,37 +38,58 @@ class WindowsPhoneToastNotify(Hook):
self.info = {} #@TODO: Remove in 0.4.10
- def getXmlData(self):
- myxml = ("<?xml version='1.0' encoding='utf-8'?> <wp:Notification xmlns:wp='WPNotification'> "
- "<wp:Toast> <wp:Text1>Pyload Mobile</wp:Text1> <wp:Text2>Captcha waiting!</wp:Text2> "
- "</wp:Toast> </wp:Notification>")
- return myxml
+ def newCaptchaTask(self, task):
+ if not self.getConfig("notifycaptcha"):
+ return False
+ if time() - float(self.getStorage("WindowsPhoneToastNotify", 0)) < self.getConf("timeout"):
+ return False
- def doRequest(self):
- URL = self.getConfig("pushUrl")
- request = self.getXmlData()
- webservice = httplib.HTTP(URL)
- webservice.putrequest("POST", self.getConfig("pushId"))
- webservice.putheader("Host", URL)
- webservice.putheader("Content-type", "text/xml")
- webservice.putheader("X-NotificationClass", "2")
- webservice.putheader("X-WindowsPhone-Target", "toast")
- webservice.putheader("Content-length", "%d" % len(request))
- webservice.endheaders()
- webservice.send(request)
- webservice.close()
- self.setStorage("LAST_NOTIFY", time.time())
+ self.notify(_("Captcha"), _("New request waiting user input"))
- def newCaptchaTask(self, task):
- if not self.getConfig("pushId") or not self.getConfig("pushUrl"):
+ def packageFinished(self, pypack):
+ if self.getConfig("notifypackage"):
+ self.notify(_("Package finished"), pypack.name)
+
+
+ def allDownloadsProcessed(self):
+ if not self.getConfig("notifyprocessed"):
return False
- if self.core.isClientConnected() and not self.getConfig("force"):
+ if any(True for pdata in self.core.api.getQueue() if pdata.linksdone < pdata.linkstotal):
+ self.notify(_("Package failed"), _("One or more packages was not completed successfully"))
+ else:
+ self.notify(_("All packages finished"))
+
+
+ def getXmlData(self, msg):
+ return ("<?xml version='1.0' encoding='utf-8'?> <wp:Notification xmlns:wp='WPNotification'> "
+ "<wp:Toast> <wp:Text1>pyLoad</wp:Text1> <wp:Text2>%s</wp:Text2> "
+ "</wp:Toast> </wp:Notification>" % msg)
+
+
+ def notify(self, event, msg=""):
+ id = self.getConfig("id")
+ url = self.getConfig("url")
+
+ if not id or not url:
return False
- if (time.time() - float(self.getStorage("LAST_NOTIFY", 0))) < self.getConf("pushTimeout"):
+ if self.core.isClientConnected() and not self.getConfig("force"):
return False
- self.doRequest()
+ request = self.getXmlData("%s: %s" % (event, msg) if msg else event)
+ webservice = httplib.HTTP(url)
+
+ webservice.putrequest("POST", id)
+ webservice.putheader("Host", url)
+ webservice.putheader("Content-type", "text/xml")
+ webservice.putheader("X-NotificationClass", "2")
+ webservice.putheader("X-WindowsPhone-Target", "toast")
+ webservice.putheader("Content-length", "%d" % len(request))
+ webservice.endheaders()
+ webservice.send(request)
+ webservice.close()
+
+ self.setStorage("WindowsPhoneToastNotify", time())
diff --git a/module/plugins/hooks/XFileSharingPro.py b/module/plugins/hooks/XFileSharingPro.py
index 0745a6c7e..e6e30ca8f 100644
--- a/module/plugins/hooks/XFileSharingPro.py
+++ b/module/plugins/hooks/XFileSharingPro.py
@@ -8,7 +8,7 @@ from module.plugins.Hook import Hook
class XFileSharingPro(Hook):
__name__ = "XFileSharingPro"
__type__ = "hook"
- __version__ = "0.30"
+ __version__ = "0.31"
__config__ = [("activated" , "bool", "Activated" , True ),
("use_hoster_list" , "bool", "Load listed hosters only" , False),
@@ -30,15 +30,15 @@ class XFileSharingPro(Hook):
HOSTER_BUILTIN = [#WORKING HOSTERS:
"180upload.com", "backin.net", "eyesfile.ca", "file4safe.com", "fileband.com", "filedwon.com",
- "fileparadox.in", "filevice.com", "hostingbulk.com", "linestorage.com", "ravishare.com", "ryushare.com",
- "salefiles.com", "sendmyway.com", "sharesix.com", "thefile.me", "verzend.be", "xvidstage.com",
+ "fileparadox.in", "filevice.com", "hostingbulk.com", "junkyvideo.com", "linestorage.com", "ravishare.com",
+ "ryushare.com", "salefiles.com", "sendmyway.com", "sharesix.com", "thefile.me", "verzend.be", "xvidstage.com",
#NOT TESTED:
"101shared.com", "4upfiles.com", "filemaze.ws", "filenuke.com", "linkzhost.com", "mightyupload.com",
"rockdizfile.com", "sharebeast.com", "sharerepo.com", "shareswift.com", "uploadbaz.com", "uploadc.com",
"vidbull.com", "zalaa.com", "zomgupload.com",
#NOT WORKING:
"amonshare.com", "banicrazy.info", "boosterking.com", "host4desi.com", "laoupload.com", "rd-fs.com"]
- CRYPTER_BUILTIN = []
+ CRYPTER_BUILTIN = ["junocloud.me", "rapidfileshare.net"]
# def pluginConfigChanged(self.__name__, plugin, name, value):
diff --git a/module/plugins/hooks/XMPPInterface.py b/module/plugins/hooks/XMPPInterface.py
index bbeab4341..b8e9fc1ad 100644
--- a/module/plugins/hooks/XMPPInterface.py
+++ b/module/plugins/hooks/XMPPInterface.py
@@ -69,7 +69,7 @@ class XMPPInterface(IRCInterface, JabberClient):
try:
if self.getConfig("info_pack"):
self.announce(_("Package finished: %s") % pypack.name)
- except:
+ except Exception:
pass
@@ -78,7 +78,7 @@ class XMPPInterface(IRCInterface, JabberClient):
if self.getConfig("info_file"):
self.announce(
_("Download finished: %(name)s @ %(plugin)s") % {"name": pyfile.name, "plugin": pyfile.pluginname})
- except:
+ except Exception:
pass
@@ -152,7 +152,7 @@ class XMPPInterface(IRCInterface, JabberClient):
trigger = temp[0]
if len(temp) > 1:
args = temp[1:]
- except:
+ except Exception:
pass
handler = getattr(self, "event_%s" % trigger, self.event_pass)