def webapp_login(): global caller # logging in if request.method == 'POST': host_param = request.form['host'] try: if not Caller.check_up(host_param): return render_template("login.html", msg='host is down', host=host_param) private_key_df = request.form['private_key'] private_key_df_derived = Parser.derive(private_key_df) public_key_df = gen_public_key(private_key_df_derived) caller = Caller(host_param, public_key_df) return redirect(url_for('webapp.webapp_main', path='', dirname='')) except TypeError as te: return render_template("login.html", msg=str(te), host=host_param) elif request.method == 'GET': if caller is not None: if caller.get_session().status_code == 200: return redirect(url_for('webapp.webapp_main', path='', dirname='')) return render_template("login.html")
def pm(debug, host): """Connect to password manager""" logger = Logger(debug) logger.debug('debug mode on') caller = None p_key_derived = None try: if not Caller.check_up(host): logger.error('error creating session: host down') else: logger.debug('host up') key, p_key_derived = Input.get_public_key() logger.debug('creating a new session...') caller = Caller(host, key) logger.info(f'session created') except ConnectionError as ce: logger.error(f'error creating session: connection error - {str(ce)}') except TypeError as te: logger.error(f'error creating session: wrong input - {str(te)}') if caller is not None: InteractiveInput(caller, logger, p_key_derived).cmdloop()