Advertisement
Guest User

Untitled

a guest
Sep 8th, 2017
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.82 KB | None | 0 0
  1. #!/usr/bin/python
  2.  
  3. import sys
  4. import gtk
  5. import gnomekeyring as gkey
  6. import getpass
  7.  
  8. class Keyring(object):
  9.     def __init__(self, name, server, protocol):
  10.         self._name = name
  11.         self._server = server
  12.         self._protocol = protocol
  13.         self._keyring = gkey.get_default_keyring_sync()
  14.  
  15.     def has_credentials(self):
  16.         try:
  17.             attrs = {"server": self._server, "protocol": self._protocol}
  18.             items = gkey.find_items_sync(gkey.ITEM_NETWORK_PASSWORD, attrs)
  19.             return len(items) > 0
  20.         except gkey.DeniedError:
  21.             return False
  22.  
  23.     def get_credentials(self):
  24.         attrs = {"server": self._server, "protocol": self._protocol}
  25.         items = gkey.find_items_sync(gkey.ITEM_NETWORK_PASSWORD, attrs)
  26.         return (items[0].attributes["user"], items[0].secret)
  27.  
  28.     def set_credentials(self, (user, pw)):
  29.         attrs = {
  30.                 "user": user,
  31.                 "server": self._server,
  32.                 "protocol": self._protocol,
  33.             }
  34.         gkey.item_create_sync(gkey.get_default_keyring_sync(),
  35.                 gkey.ITEM_NETWORK_PASSWORD, self._name, attrs, pw, True)
  36.  
  37. def get_username(server):
  38.     keyring = Keyring("offlineimap", server, "imap")
  39.     (username, password) = keyring.get_credentials()
  40.     return username
  41.  
  42. def get_password(server):
  43.     keyring = Keyring("offlineimap", server, "imap")
  44.     (username, password) = keyring.get_credentials()
  45.     return password
  46.  
  47. def main():
  48.     servername = raw_input("Enter FQDN or IP for IMAP server: ")
  49.     newkeyring = Keyring("offlineimap", servername, "imap")
  50.     username = getpass.getuser()
  51.     print "Username: %s" % (username)
  52.     password = getpass.getpass("Enter new password: ")
  53.     newkeyring.set_credentials((username,password))
  54.  
  55. if __name__ == "__main__":
  56.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement