def import_account(rein): Base.metadata.create_all(rein.engine) backup_filename = click.prompt("Enter backup file name", type=str, default=rein.backup_filename) f = open(backup_filename, 'r') try: data = json.loads(f.read()) except: raise RuntimeError('Backup file %s not valid json.' % backup_filename) if not check_bitcoin_address(data['maddr']) or not check_bitcoin_address( data['daddr']): click.echo("Invalid Bitcoin address(es) in backup file.") sys.exit() if 'testnet' not in data: click.echo("Warning: testnet not set in backup. Setting to " + str(rein.testnet)) data['testnet'] = rein.testnet new_identity = User(data['name'], data['contact'], data['maddr'], data['daddr'], data['dkey'], data['will_mediate'], data['mediator_fee'], data['testnet']) rein.session.add(new_identity) rein.session.commit() rein.user = new_identity return rein.user
def import_account(rein): Base.metadata.create_all(rein.engine) backup_filename = click.prompt("Enter backup file name", type=str, default=rein.backup_filename) f = open(backup_filename, 'r') try: data = json.loads(f.read()) except: raise RuntimeError('Backup file %s not valid json.' % backup_filename) if not check_bitcoin_address(data['maddr']) or not check_bitcoin_address(data['daddr']): click.echo("Invalid Bitcoin address(es) in backup file.") sys.exit() if 'testnet' not in data: click.echo("Warning: testnet not set in backup. Setting to "+ str(rein.testnet)) data['testnet'] = rein.testnet new_identity = User(data['name'], data['contact'], data['maddr'], data['daddr'], data['dkey'], data['will_mediate'], data['mediator_fee'], data['testnet']) rein.session.add(new_identity) rein.session.commit() rein.user = new_identity return rein.user
def btc_addr_prompt(name): title = hilight(name.capitalize() + " Bitcoin address", True, True) addr = click.prompt(title, type=str) while not check_bitcoin_address(addr.strip()): addr = click.prompt("Invalid.\n" + title, type=str) return addr
def validate_address(form, field): if not check_bitcoin_address(field.data): raise ValidationError("Invalid address")