summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--plugins/new_version.xml13
-rw-r--r--portato/gui/windows/main.py1
-rw-r--r--portato/plugins/new_version.py29
3 files changed, 43 insertions, 0 deletions
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 @@
+<?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>New Version Reminder</name>
+
+ <import>portato.plugins.new_version</import>
+
+ <hooks>
+ <hook type="after_startup" call="find_version" />
+ </hooks>
+
+</plugin>
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()
4 r618@Devoty: necoro | 2008-01-14 20:19:05 +0100Necoro2-35/+57 2008-01-14 r617@Devoty: necoro | 2008-01-14 19:12:59 +0100Necoro2-10/+10 2008-01-14 r609@Devoty: necoro | 2008-01-14 17:04:38 +0100Necoro9-394/+477 2008-01-14 r605@Devoty: necoro | 2008-01-14 11:43:34 +0100Necoro2-26/+129 2008-01-14 r603@Devoty: necoro | 2008-01-14 11:30:26 +0100Necoro4-26/+38 2008-01-11 r598@Devoty: necoro | 2008-01-10 16:36:29 +0100Necoro4-10/+50 2008-01-11 r597@Devoty: necoro | 2008-01-10 14:12:35 +0100Necoro1-3/+3 2008-01-10 r595@Devoty: necoro | 2008-01-10 04:04:15 +0100Necoro1-52/+3 2008-01-09 r586@Devoty: necoro | 2008-01-09 14:54:18 +0100Necoro1-1/+1 2007-12-06 r577@Devoty: necoro | 2007-12-06 20:37:36 +0100Necoro1-1/+1 2007-12-06 r572@Devoty: necoro | 2007-11-28 08:48:15 +0100Necoro1-0/+1 2007-11-27 r570@Devoty: necoro | 2007-11-27 02:08:21 +0100Necoro3-84/+108