예제 #1
0
    def test_catlessPassword(self):
        'Saving and loading password without category'

        tree = self.pdb.getTree()
        pwd = FigaroPassword(title='CLHost', password='******')
        tree.addNode(pwd)
        self.pdb.save(fname='fpm.saved')
        self.pdb = PDBFigaro()
        self.pdb.open(self.password, fname='fpm.saved')
        tlnodes = self.pdb.getTree().getNodes()
        self.assertEqual(len(tlnodes), 1)
        self.assertEqual(tlnodes[0].title, 'CLHost')
        self.assertEqual(tlnodes[0]['password'], 'CLPass')
        self.assertEqual(tlnodes[0]['url'], '')
예제 #2
0
파일: app.py 프로젝트: a-d-j-i/kedpm
 def openDatabase(self):
     self.pdb = PDBFigaro(
         filename=expanduser(self.conf.options['fpm-database']))
     dlg = LoginDialog(pdb=self.pdb)
     password = dlg['password']
     try:
         res = dlg.run()
         if res != Gtk.ResponseType.OK:
             print("Good bye.")
             sys.exit(1)
     except DatabaseNotExist:
         dlg.destroyDialog()
         newpass = self.createNewDatabase()
         if newpass is None:
             sys.exit(1)
         self.pdb.open(newpass)
예제 #3
0
 def test_tooLongPassword(self):
     pwd = FigaroPassword()
     longpswd = "1234567890" * 3
     self.assertRaises(FigaroPasswordTooLongError, pwd.__setitem__,
                       'password', longpswd)
     self.assertRaises(FigaroPasswordTooLongError, pwd.update,
                       {'password': longpswd})
     pwd.store_long_password = 1
     pwd['title'] = "Long password"
     pwd['password'] = longpswd
     self.pdb.getTree()['Test'].addNode(pwd)
     self.pdb.save(fname="fpm.saved")
     self.pdb = PDBFigaro()
     self.pdb.open(self.password, fname='fpm.saved')
     saved_pwd = self.pdb.getTree()['Test'].locate('Long password')[0]
     self.assertEqual(saved_pwd['password'], longpswd)
예제 #4
0
 def openDatabase(self):
     ''' Open database amd prompt for password if nesessary '''
     self.pdb = PDBFigaro(
         filename=expanduser(self.conf.options['fpm-database']))
     password = ""
     print "Ked Password Manager (version %s)" % __version__
     while 1:
         try:
             self.pdb.open(password)
             break
         except WrongPassword:
             if password:
                 print "Error! Wrong password."
             else:
                 print "Provide password to access the database (Ctrl-C to exit)"
             password = getpass("Password: "******"Password accepted."
     print
예제 #5
0
 def setUp(self):
     self.pdb = PDBFigaro()
     self.pdb.open(self.password, fname='test/fpm.sample')
예제 #6
0
 def test_unrotate(self):
     pdb = PDBFigaro()
     unrotated = pdb._unrotate('FIGARO\x00\xe3')
     self.assertEqual(unrotated, 'FIGARO')
예제 #7
0
 def setUp(self):
     pdb = PDBFigaro()
     pdb.open(self.password, fname='test/fpm.sample')
     pdb.save(fname="fpm.saved")
     self.pdb = PDBFigaro()
     self.pdb.open(self.password, fname='fpm.saved')
예제 #8
0
#! /usr/bin/python2
from kedpm.plugins.pdb_figaro import PDBFigaro, FigaroPassword
import getpass
import sys
import os
import json

f = os.path.join(os.environ["HOME"],".fpm/fpm")

if len(sys.argv) > 1:
    f = sys.argv[1]

db = PDBFigaro(filename=f)

pw = getpass.getpass('Please give password : '******'title']] = { 'user': n['user'],
                          'password' : n['password'],
                          'url' : n['url'],
                          'notes' : n['notes']}

    branches = t.getBranches()
    folders = {}