| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | #!/usr/bin/env python# ============================================================================# This file is part of Pwman3.## Pwman3 is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License, version 2# as published by the Free Software Foundation;## Pwman3 is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the# GNU General Public License for more details.## You should have received a copy of the GNU General Public License# along with Pwman3; if not, write to the Free Software# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA# ============================================================================# Copyright (C) 2012-2014 Oz Nahum Tiram <nahumoz@gmail.com># ============================================================================# Copyright (C) 2006 Ivan Kelly <ivan@ivankelly.net># ============================================================================from __future__ import print_functionimport sysfrom pwman import get_conf_options, get_db_versionfrom pwman import parser_optionsfrom pwman.ui.tools import CLICallbackimport pwman.data.factoryfrom pwman.exchange.importer import Importerfrom pwman.util.crypto_engine import CryptoEngineif sys.version_info.major > 2:    raw_input = inputdef get_ui_platform(platform):  # pragma: no cover    if 'darwin' in platform:        from pwman.ui.mac import PwmanCliMac as PwmanCli        OSX = True    elif 'win' in platform:        from pwman.ui.win import PwmanCliWin as PwmanCli        OSX = False    else:        from pwman.ui.cli import PwmanCli        OSX = False    return PwmanCli, OSXdef main(args):    PwmanCli, OSX = get_ui_platform(sys.platform)    xselpath, dbtype, config = get_conf_options(args, OSX)    dbver = get_db_version(config, args)    CryptoEngine.get()    dburi = config.get_value('Database', 'dburi')    db = pwman.data.factory.createdb(dburi, dbver)    if args.import_file:        importer = Importer((args, config, db))        importer.run()        sys.exit(0)    cli = PwmanCli(db, xselpath, CLICallback, config)    try:        cli.cmdloop()    except KeyboardInterrupt as e:        print(e)    finally:        config.save()if __name__ == '__main__':    args = parser_options().parse_args()    main(args)
 |