from argparse import ArgumentParser from json import dumps from uuid import uuid4 from modules.database import col_apikeys from modules.security import passEncode # Args ===================================================================================================================================== parser = ArgumentParser( prog = "Stardew Valley Sync API", description = "Small subprogram made for API keys generation." ) parser.add_argument("-u", "--username", help="Enter username without input prompt", action="store") parser.add_argument("-j", "--json", help="Return output as a json. Username must be provided as an argument", action="store_true") args = parser.parse_args() #=========================================================================================================================================== username = input("Enter username: ") if args.username is None else args.username new_key = str(uuid4()) col_apikeys.insert_one({"user": username, "hash": passEncode(new_key)}) if args.json is True and args.username is not None: print(dumps({"apikey": new_key})) else: print(f"Generated API key for {username}: {new_key}", flush=True)