summaryrefslogtreecommitdiff
path: root/host-overrides/jesterpm.net/offlineimap/helper.py
diff options
context:
space:
mode:
authorJesse Morgan <jesse@jesterpm.net>2012-11-07 19:40:06 -0800
committerJesse Morgan <jesse@jesterpm.net>2012-11-08 14:43:38 -0800
commita188bfa6312dc9bc8ce275060f7ec2ad70cb6b2e (patch)
tree8f644133fe2a711255e0fb2f94bdaaa139bc50f9 /host-overrides/jesterpm.net/offlineimap/helper.py
parentab4f19246099f00d13ee83dc003ee32b6bff8798 (diff)
Initial commit.
Diffstat (limited to 'host-overrides/jesterpm.net/offlineimap/helper.py')
-rw-r--r--host-overrides/jesterpm.net/offlineimap/helper.py45
1 files changed, 45 insertions, 0 deletions
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