def generate_unique_mcdi_form_id():
    """Generate a unique random parent MCDI form ID.

    Generate a new parent MCDI form ID that is not currently in use by other
    MCDI forms and is unpredictable given previous IDs.

    @return: The newly generated form ID.
    @rtype: str
    """
    found = False
    ret_id = None
    while not found:
        ret_id = user_util.generate_password().lower()
        found = db_util.get_parent_form_by_id(ret_id) == None

    return ret_id
Beispiel #2
0
def generate_new_api_key():
    """Generate a new unique API key.

    Generate a unique random API key that has not been assigned to any other
    system users.

    @return: The newly generated API key.
    @rtype: str
    """
    found = False
    new_key = None

    while not found: 
        new_key = user_util.generate_password(pass_len=20).lower()
        found = db_util.get_api_key(new_key) == None

    return new_key