diff options
author | René 'Necoro' Neumann <necoro@necoro.net> | 2008-07-03 23:21:09 +0200 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.net> | 2008-07-03 23:21:09 +0200 |
commit | dd83f2011ffee4d8eea7b78f86631c7266cdfdc2 (patch) | |
tree | d6d3caac57a72df97e8c7d78977d7db1b82d66b0 | |
parent | b862584d289e09a6c12d862521f6a867a6f7cffa (diff) | |
download | portato-dd83f2011ffee4d8eea7b78f86631c7266cdfdc2.tar.gz portato-dd83f2011ffee4d8eea7b78f86631c7266cdfdc2.tar.bz2 portato-dd83f2011ffee4d8eea7b78f86631c7266cdfdc2.zip |
Ported Notify plugin
Diffstat (limited to '')
-rw-r--r-- | plugins/notify.py | 45 | ||||
-rw-r--r-- | plugins/notify.xml | 14 | ||||
-rw-r--r-- | portato/plugins/__init__.py | 7 | ||||
-rw-r--r-- | portato/plugins/notify.py | 22 |
4 files changed, 51 insertions, 37 deletions
diff --git a/plugins/notify.py b/plugins/notify.py new file mode 100644 index 0000000..bc1b2ea --- /dev/null +++ b/plugins/notify.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# +# File: plugins/notify.py +# This file is part of the Portato-Project, a graphical portage-frontend. +# +# Copyright (C) 2007-2008 René 'Necoro' Neumann +# This is free software. You may redistribute copies of it under the terms of +# the GNU General Public License version 2. +# There is NO WARRANTY, to the extent permitted by law. +# +# Written by René 'Necoro' Neumann <necoro@necoro.net> + +import pynotify + +from portato import get_listener + +from portato.helper import warning, error, debug +from portato.constants import APP_ICON, APP + +class Notify (Plugin): + __author__ = "René 'Necoro' Neumann" + __description__ = "Show notifications when an emerge process finishes." + __dependency__ = ["dev-python/notify-python"] + + def __init__ (self): + Plugin.__init__(self) + self.add_call("after_emerge", self.notify) + + def notify (self, retcode, **kwargs): + if retcode is None: + warning("NOTIFY :: %s", _("Notify called while process is still running!")) + else: + icon = APP_ICON + if retcode == 0: + text = _("Emerge finished!") + descr = "" + urgency = pynotify.URGENCY_NORMAL + else: + text = _("Emerge failed!") + descr = _("Error Code: %d") % retcode + urgency = pynotify.URGENCY_CRITICAL + + get_listener().send_notify(base = text, descr = descr, icon = icon, urgency = urgency) + +register(Notify) diff --git a/plugins/notify.xml b/plugins/notify.xml deleted file mode 100644 index 8de08c8..0000000 --- a/plugins/notify.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<plugin xmlns="http://portato.sourceforge.net/plugin" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://portato.sourceforge.net/plugin http://portato.sourceforge.net/plugin.xsd"> - - <author>René 'Necoro' Neumann</author> - <name>Notify</name> - <frontends>gtk</frontends> - - <import>portato.plugins.notify</import> - - <hooks> - <hook type = "after_emerge" call = "notify" /> - </hooks> - -</plugin> diff --git a/portato/plugins/__init__.py b/portato/plugins/__init__.py index fe95dbc..5080cec 100644 --- a/portato/plugins/__init__.py +++ b/portato/plugins/__init__.py @@ -3,9 +3,14 @@ # File: portato/plugins/__init__.py # This file is part of the Portato-Project, a graphical portage-frontend. # -# Copyright (C) 2007 René 'Necoro' Neumann +# Copyright (C) 2007-2008 René 'Necoro' Neumann # This is free software. You may redistribute copies of it under the terms of # the GNU General Public License version 2. # There is NO WARRANTY, to the extent permitted by law. # # Written by René 'Necoro' Neumann <necoro@necoro.net> + +""" +This is a dummy module. The plugins loaded from here are in reality stored +in /usr/share/portato/plugins or alike. +""" diff --git a/portato/plugins/notify.py b/portato/plugins/notify.py deleted file mode 100644 index 78812b3..0000000 --- a/portato/plugins/notify.py +++ /dev/null @@ -1,22 +0,0 @@ -import pynotify - -from portato import get_listener - -from portato.helper import warning, error, debug -from portato.constants import APP_ICON, APP - -def notify (retcode, **kwargs): - if retcode is None: - warning("NOTIFY :: %s", _("Notify called while process is still running!")) - else: - icon = APP_ICON - if retcode == 0: - text = _("Emerge finished!") - descr = "" - urgency = pynotify.URGENCY_NORMAL - else: - text = _("Emerge failed!") - descr = _("Error Code: %d") % retcode - urgency = pynotify.URGENCY_CRITICAL - - get_listener().send_notify(base = text, descr = descr, icon = icon, urgency = urgency) |