Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
user_info.py78 linesDownload Raw Back to setup
1##########################################################################2#3# pgAdmin 4 - PostgreSQL Tools4#5# Copyright (C) 2013 - 2024, The pgAdmin Development Team6# This software is released under the PostgreSQL Licence7#8##########################################################################9 10import config11import string12import secrets13import os14import getpass15from pgadmin.utils.constants import ENTER_EMAIL_ADDRESS16 17from pgadmin.utils.validation_utils import validate_email18 19 20def user_info_desktop():21    print("NOTE: Configuring authentication for DESKTOP mode.")22    email = config.DESKTOP_USER23    p1 = ''.join([24        secrets.choice(string.ascii_letters + string.digits)25        for _ in range(32)26    ])27    return email, p128 29 30def pprompt():31    return getpass.getpass(), getpass.getpass('Retype password:')32 33 34def user_info_server():35    print("NOTE: Configuring authentication for SERVER mode.\n")36 37    if all(value in os.environ for value in38           ['PGADMIN_SETUP_EMAIL', 'PGADMIN_SETUP_PASSWORD']):39        email = ''40        p1 = ''41        if os.environ['PGADMIN_SETUP_EMAIL'] \42                and os.environ['PGADMIN_SETUP_PASSWORD']:43            email = os.environ['PGADMIN_SETUP_EMAIL']44            p1 = os.environ['PGADMIN_SETUP_PASSWORD']45    else:46        # Prompt the user for their default username and password.47        print(48            "Enter the email address and password to use for the initial "49            "pgAdmin user account:\n"50        )51 52        email = input(ENTER_EMAIL_ADDRESS)53        while not validate_email(email):54            print('Invalid email address. Please try again.')55            email = input(ENTER_EMAIL_ADDRESS)56 57        p1, p2 = pprompt()58        while p1 != p2 or len(p1) < config.PASSWORD_LENGTH_MIN:59            if p1 != p2:60                print('Passwords do not match. Please try again.')61            else:62                print(63                    'Password must be at least {} characters. '64                    'Please try again.'.format(config.PASSWORD_LENGTH_MIN)65                )66            p1, p2 = pprompt()67 68    return email, p169 70 71def user_info():72    if config.SERVER_MODE is False:73        email, p1 = user_info_desktop()74    else:75        email, p1 = user_info_server()76 77    return email, p178 
codekingpro/portable-devtools · Team Ai