summaryrefslogtreecommitdiff
path: root/plugins/notify.py
blob: 7a3776a9e78132280537b630eec388b78696d680 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# -*- 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>

disable = False

try:
    import pynotify
except ImportError:
    disable = True

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):
        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, disable)
René 'Necoro' Neumann1-17/+30 2020-05-11Use stable version of gofeedRené 'Necoro' Neumann2-3/+3 2020-05-10Prepare release 0.3.0v0.3.0René 'Necoro' Neumann3-5/+6 2020-05-10Fixed linebreaks for Enclosures in text templateRené 'Necoro' Neumann1-5/+5 2020-05-10Upgrade html2textRené 'Necoro' Neumann2-5/+3 2020-05-10Switch to our own html2text fork for the time beingRené 'Necoro' Neumann3-5/+5 2020-05-10Text part in emailsRené 'Necoro' Neumann7-33/+115 2020-05-10Allow options on group level.René 'Necoro' Neumann3-5/+11 2020-05-10Renamed feed template to html templateRené 'Necoro' Neumann2-2/+2 2020-05-10Release v0.2.0v0.2.0René 'Necoro' Neumann2-2/+6 2020-05-10Fix building cacheRené 'Necoro' Neumann1-1/+3 2020-05-10Update READMERené 'Necoro' Neumann1-5/+44 2020-05-10Ignore 'dist' folder and build productsRené 'Necoro' Neumann1-0/+2 2020-05-08Print item hashes in debug modeRené 'Necoro' Neumann1-1/+7 2020-05-07Improve html renderingRené 'Necoro' Neumann2-53/+32 2020-05-07Do not assume items to be new when their published date is newer than the las...René 'Necoro' Neumann2-7/+1 2020-05-07Updating some depsRené 'Necoro' Neumann2-2/+7 2020-05-07Better detection if a text starts with html or notRené 'Necoro' Neumann2-4/+13 2020-05-07go fmtRené 'Necoro' Neumann1-3/+2 2020-05-07Add header X-Feed2Imap-GUIDRené 'Necoro' Neumann3-1/+7 2020-05-07update changelogRené 'Necoro' Neumann1-0/+1 2020-05-07FixRené 'Necoro' Neumann1-1/+1 2020-05-07Unified publishedDate and updatedDate into one (just as the old feed2imap...)René 'Necoro' Neumann5-21/+32 2020-05-06Print version during startupRené 'Necoro' Neumann1-1/+1 2020-05-06Improve templateRené 'Necoro' Neumann3-20/+28 2020-05-05Fix pipelineRené 'Necoro' Neumann1-2/+5 2020-05-05Make changelog a part of the release pipeline (untested)René 'Necoro' Neumann2-0/+12