Esempio n. 1
0
def handle_system_information(username, password):

    mac = uuid.getnode().__str__()
    system = rest_client.get_system_information(mac)
    system_name = None
    # Register a new System if this one isn't recognized
    if system is None:
        hostname = socket.gethostname()
        name_input = raw_input("What do you want to call this system? " +
                               "For example Home, File Server, ect. [%s]: " % hostname)

        name = name_input or hostname
        system_name = rest_client.register_system(RegisterSystem(
            name, mac, hostname, __version__))
        if system_name:
            print("Registered a new system " + name)
        else:
            return (None, None)

    # Login with this new system
    access_token = rest_client.login_user(LoginForm(username, password, mac))

    if access_token is None:
        print("Failed to login with system.")
        return (None, None)

    # If this system is already registered
    if system is not None:
        system_name = system.name
        print("Welcome back! Looks like this box is already registered as " +
              system.name + ".")

    return (access_token, system_name)
def get_user_information_and_login(username=None, password=None, attempts=0):
    if attempts == 4:
        print("Too many bad attempts.")
        return None

    # Only collect user information if we don't already have it
    # i.e. if we didn't just register a new user.
    if username == None and password == None:
        print("Please enter your bashhub credentials")
        username = raw_input("Username: "******"Password: ")

    # login once we have all of our information
    access_token = rest_client.login_user(LoginForm(username, password))

    # Package our result to include our credentials to later login our system.
    if access_token:
        result = (username, password, access_token)
    else:
        result = get_user_information_and_login(attempts=attempts + 1) or (
            None,
            None,
            None,
        )

    return result
Esempio n. 3
0
def get_user_information_and_login(username=None, password=None, attempts=0):
    if attempts == 4:
        print("Too many bad attempts.")
        return None

    # Only collect user information if we don't already have it
    # i.e. if we didn't just register a new user.
    if username == None and password == None:
        print("Please enter your bashhub credentials")
        username = raw_input("Username: "******"Password: ")

    # login once we have all of our information
    access_token = rest_client.login_user(LoginForm(username, password))

    # Package our result to include our credentials to later login our system.
    if access_token:
        result = (username, password, access_token)
    else:
        result = get_user_information_and_login(attempts=attempts + 1) or (
            None, None, None)

    return result