From 8e0e6ab4c682fd18e59a46f720ceb566093b1e11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20=27Necoro=27=20Neumann?= Date: Wed, 26 Mar 2008 01:21:11 +0100 Subject: Added find_version plugin --- plugins/new_version.xml | 13 +++++++++++++ portato/gui/windows/main.py | 1 + portato/plugins/new_version.py | 29 +++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 plugins/new_version.xml create mode 100644 portato/plugins/new_version.py diff --git a/plugins/new_version.xml b/plugins/new_version.xml new file mode 100644 index 0000000..7bf9947 --- /dev/null +++ b/plugins/new_version.xml @@ -0,0 +1,13 @@ + + + + René 'Necoro' Neumann + New Version Reminder + + portato.plugins.new_version + + + + + + diff --git a/portato/gui/windows/main.py b/portato/gui/windows/main.py index 30f31a1..d459bb4 100644 --- a/portato/gui/windows/main.py +++ b/portato/gui/windows/main.py @@ -779,6 +779,7 @@ class MainWindow (Window): splash(_("Finishing startup")) self.window.show_all() + plugin.hook("after_startup")(lambda x:pass)() def show_package (self, *args, **kwargs): self.packageTable.update(*args, **kwargs) diff --git a/portato/plugins/new_version.py b/portato/plugins/new_version.py new file mode 100644 index 0000000..d06d58d --- /dev/null +++ b/portato/plugins/new_version.py @@ -0,0 +1,29 @@ +try: + from bzrlib import plugin, branch +except ImportError: + plugin = branch = None + +from threading import Thread + +from portato.helper import debug, _ +from portato import get_listener +from portato.constants import VERSION, APP_ICON, APP + +def find_thread (rev): + b = branch.Branch.open("lp:portato") + + if int(rev) < int(b.revno()): + 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) + +def find_version (*args, **kwargs): + if not all((plugin, branch)): + return + + v = VERSION.split() + if len(v) != 3 and v[0] != "9999": + return + + rev = v[-1] + + plugin.load_plugins() # to have lp: addresses parsed + Thread(target = find_thread, args=(rev,)).start() -- cgit v1.2.3