Don't like ads? PRO users don't see any ads ;-)
Guest

comprookie2000

By: a guest on Apr 3rd, 2009  |  syntax: Python  |  size: 1.88 KB  |  hits: 336  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. #!/usr/bin/python
  2.  
  3. import cPickle
  4. import os
  5. from sys import exit
  6.  
  7.  
  8. def get_pw():
  9.         print '\nYour current passwords are: \n'
  10.         for k, v in pw.iteritems():
  11.                 print k, v[0],v[1]
  12.         load_pw(pw)
  13.  
  14. def add_pw():
  15.         try:
  16.                 key = raw_input('Enter Password Title: ')
  17.                 username = raw_input('Enter Username: ')
  18.                 password = raw_input('Enter Password: ')
  19.                 pw[key] = username, password
  20.                 load_pw(pw)
  21.                 print '\nYour current Passwords are: \n'
  22.                 for k, v in pw.iteritems():
  23.                         print k, v[0], v[1]
  24.                 response = raw_input('\nDo you want to enter another password? (y/n) ')
  25.                 response = response.lower()
  26.                 if response == 'y':
  27.                         add_pw()
  28.                 else:
  29.                         print 'Goodbye'
  30.         except KeyError, e:
  31.                 print '\nError! Enter Password Data!\n'
  32.  
  33. def load_pw(pw):
  34.         fname = open('pw_data.dat', 'w')
  35.         object = cPickle.Pickler(fname)
  36.         object.dump(pw)
  37.         fname.close()
  38.  
  39. def del_pw():
  40.         try:
  41.                 print '\nYour current Passwords are: \n'
  42.                 for k, v in pw.iteritems():
  43.                         print k
  44.                 answer = raw_input('\nWhich Password do you want to remove?\n')
  45.                 del pw[answer]
  46.                 print '\nDeleted:', answer
  47.                 print '\nYour current Passwords are: \n'
  48.                 for k, v in pw.iteritems():
  49.                         print k, v[0],v[1]
  50.                 load_pw(pw)
  51.         except KeyError, e:
  52.                 print '\nError! Enter Password to be removed.\n'
  53.  
  54. def menu():
  55.         print '''
  56.         Passwords
  57.  
  58.         Press I: Password Info
  59.         Press A: Add Password
  60.         Press D: Remove Password
  61.         Press X: Exit
  62.         '''
  63.         answer = raw_input('\nEnter >> ')
  64.         answer = answer.lower()
  65.         if answer == 'a':
  66.                 add_pw()
  67.                 menu()
  68.         elif answer == 'i':
  69.                 get_pw()
  70.                 menu()
  71.         elif answer == 'd':
  72.                 del_pw()
  73.                 menu()
  74.         elif answer == 'x':
  75.                 print 'Exit'
  76.                 exit()
  77.         else:
  78.                 print 'Goodbye'
  79.  
  80. if __name__ == '__main__':
  81.         if os.path.exists('pw_data.dat'):
  82.                 try:
  83.                         fname = open('pw_data.dat', 'rb')
  84.                         data = cPickle.Unpickler(fname)
  85.                         pw = data.load()
  86.                         load_pw(pw)
  87.                 finally:
  88.                         fname.close()
  89.         else:
  90.                 pw = {}
  91.         menu()