summaryrefslogtreecommitdiff
path: root/portato/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'portato/plugins')
-rw-r--r--portato/plugins/etc_proposals.py2
-rw-r--r--portato/plugins/new_version.py42
-rw-r--r--portato/plugins/notify.py2
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: