diff options
Diffstat (limited to 'portato/plugins')
-rw-r--r-- | portato/plugins/etc_proposals.py | 2 | ||||
-rw-r--r-- | portato/plugins/new_version.py | 42 | ||||
-rw-r--r-- | portato/plugins/notify.py | 2 |
3 files changed, 44 insertions, 2 deletions
diff --git a/portato/plugins/etc_proposals.py b/portato/plugins/etc_proposals.py index 77b6be5..62605c8 100644 --- a/portato/plugins/etc_proposals.py +++ b/portato/plugins/etc_proposals.py @@ -22,7 +22,7 @@ def launch (options = []): if os.getuid() == 0: Popen(PROG+options) else: - error(_("Cannot start etc-proposals. Not root!")) + error("ETC_PROPOSALS :: %s",_("Cannot start etc-proposals. Not root!")) def etc_prop (*args, **kwargs): """Entry point for this plugin.""" diff --git a/portato/plugins/new_version.py b/portato/plugins/new_version.py new file mode 100644 index 0000000..687e107 --- /dev/null +++ b/portato/plugins/new_version.py @@ -0,0 +1,42 @@ +try: + from bzrlib import plugin, branch +except ImportError: + plugin = branch = None + +from threading import Thread + +import gobject + +from portato.helper import debug, warning +from portato import get_listener +from portato.constants import VERSION, APP_ICON, APP + +def find_thread (rev): + try: + b = branch.Branch.open("lp:portato") + except Exception, e: + warning("NEW_VERSION :: Exception occured while accessing the remote branch: %s", str(e)) + return + + debug("NEW_VERSION :: Installed rev: %s - Current rev: %s", rev, b.revno()) + if int(rev) < int(b.revno()): + def callback(): + get_listener().send_notify(base = "New Portato Live Version Found", descr = "You have rev. %s, but the most recent revision is %s." % (rev, b.revno()), icon = APP_ICON) + return False + + gobject.idle_add(callback) + +def find_version (*args, **kwargs): + if not all((plugin, branch)): + return + + v = VERSION.split() + if len(v) != 3 or v[0] != "9999": + return + + rev = v[-1] + + plugin.load_plugins() # to have lp: addresses parsed + t = Thread(target = find_thread, args=(rev,)) + t.setDaemon(True) + t.start() diff --git a/portato/plugins/notify.py b/portato/plugins/notify.py index ae2addd..8bb0a87 100644 --- a/portato/plugins/notify.py +++ b/portato/plugins/notify.py @@ -8,7 +8,7 @@ from portato.constants import APP_ICON, APP def notify (retcode, **kwargs): if retcode is None: - warning(_("Notify called while process is still running!")) + warning("NOTIFY :: %s", _("Notify called while process is still running!")) else: icon = APP_ICON if retcode == 0: |