diff options
author | Jesse Morgan <jesse@jesterpm.net> | 2012-11-07 19:40:06 -0800 |
---|---|---|
committer | Jesse Morgan <jesse@jesterpm.net> | 2012-11-08 14:43:38 -0800 |
commit | a188bfa6312dc9bc8ce275060f7ec2ad70cb6b2e (patch) | |
tree | 8f644133fe2a711255e0fb2f94bdaaa139bc50f9 /host-overrides/jesterpm.net/offlineimap/helper.py | |
parent | ab4f19246099f00d13ee83dc003ee32b6bff8798 (diff) |
Initial commit.
Diffstat (limited to 'host-overrides/jesterpm.net/offlineimap/helper.py')
-rw-r--r-- | host-overrides/jesterpm.net/offlineimap/helper.py | 45 |
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 |