diff options
Diffstat (limited to 'portato')
-rw-r--r-- | portato/gui/windows/main.py | 1 | ||||
-rw-r--r-- | portato/plugins/new_version.py | 29 |
2 files changed, 30 insertions, 0 deletions
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() |