summaryrefslogtreecommitdiff
path: root/host-overrides/jesterpm.net/offlineimap
diff options
context:
space:
mode:
Diffstat (limited to 'host-overrides/jesterpm.net/offlineimap')
-rw-r--r--host-overrides/jesterpm.net/offlineimap/.nolink0
-rw-r--r--host-overrides/jesterpm.net/offlineimap/helper.py45
2 files changed, 45 insertions, 0 deletions
diff --git a/host-overrides/jesterpm.net/offlineimap/.nolink b/host-overrides/jesterpm.net/offlineimap/.nolink
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/host-overrides/jesterpm.net/offlineimap/.nolink
diff --git a/host-overrides/jesterpm.net/offlineimap/helper.py b/host-overrides/jesterpm.net/offlineimap/helper.py
new file mode 100644
index 0000000..4ec587a
--- /dev/null
+++ b/host-overrides/jesterpm.net/offlineimap/helper.py
@@ -0,0 +1,45 @@
+#!/usr/bin/python
+
+import re
+import sys
+import gtk
+import gnomekeyring as gkey
+
+class Keyring(object):
+ def __init__(self, name, server, protocol):
+ self._name = name
+ self._server = server
+ self._protocol = protocol
+ self._keyring = gkey.get_default_keyring_sync()
+
+ def has_credentials(self):
+ try:
+ attrs = {"server": self._server, "protocol": self._protocol}
+ items = gkey.find_items_sync(gkey.ITEM_NETWORK_PASSWORD, attrs)
+ return len(items) > 0
+ except gkey.DeniedError:
+ return False
+
+ def get_credentials(self):
+ attrs = {"server": self._server, "protocol": self._protocol}
+ items = gkey.find_items_sync(gkey.ITEM_NETWORK_PASSWORD, attrs)
+ return (items[0].attributes["user"], items[0].secret)
+
+ def set_credentials(self, (user, pw)):
+ attrs = {
+ "user": user,
+ "server": self._server,
+ "protocol": self._protocol,
+ }
+ gkey.item_create_sync(gkey.get_default_keyring_sync(),
+ gkey.ITEM_NETWORK_PASSWORD, self._name, attrs, pw, True)
+
+def get_username(server):
+ keyring = Keyring("offlineimap", server, "imap")
+ (username, password) = keyring.get_credentials()
+ return username
+
+def get_password(server):
+ keyring = Keyring("offlineimap", server, "imap")
+ (username, password) = keyring.get_credentials()
+ return password