def func_with_context(name, config, environment, system_folders, *args, **kwargs): # select configuration if none supplied if config: ctx = ServerContext.from_external_config_file( config, environment, system_folders) else: if name: name, environment = (name, environment) else: try: name, environment = select_configuration_questionaire( "server", system_folders) except Exception: error("No configurations could be found!") exit(1) # raise error if config could not be found if not ServerContext.config_exists(name, environment, system_folders): scope = "system" if system_folders else "user" error( f"Configuration {Fore.RED}{name}{Style.RESET_ALL} with " f"{Fore.RED}{environment}{Style.RESET_ALL} does not exist " f"in the {Fore.RED}{scope}{Style.RESET_ALL} folders!") exit(1) # create server context, and initialize db ServerContext.LOGGING_ENABLED = False ctx = ServerContext(name, environment=environment, system_folders=system_folders) return func(ctx, *args, **kwargs)
def func_with_context(name, config, environment, system_folders, *args, **kwargs): # select configuration if none supplied if config: ctx = ServerContext.from_external_config_file( config, environment, system_folders ) else: if name: name, environment = (name, environment) else: try: name, environment = select_configuration_questionaire( system_folders ) except Exception: error("No configurations could be found!") exit() # raise error if config could not be found if not ServerContext.config_exists( name, environment, system_folders ): scope = "system" if system_folders else "user" error( f"Configuration {Fore.RED}{name}{Style.RESET_ALL} with " f"{Fore.RED}{environment}{Style.RESET_ALL} does not exist " f"in the {Fore.RED}{scope}{Style.RESET_ALL} folders!" ) exit(1) # create server context, and initialize db ctx = ServerContext( name, environment=environment, system_folders=system_folders ) # initialize database (singleton) allow_drop_all = ctx.config["allow_drop_all"] Database().connect(URI=ctx.get_database_uri(), allow_drop_all=allow_drop_all) return func(ctx, *args, **kwargs)