From a35dcedcc0f4cea2ecbc7493a35e14b927da5d35 Mon Sep 17 00:00:00 2001 From: Griatch Date: Wed, 4 Sep 2019 20:35:08 +0200 Subject: [PATCH] Better output for evennia --initmissing. Fix object copy with tags (Resolve #1909) --- evennia/objects/manager.py | 2 +- evennia/server/evennia_launcher.py | 17 +++++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/evennia/objects/manager.py b/evennia/objects/manager.py index b65bc09a04..0ee239377e 100644 --- a/evennia/objects/manager.py +++ b/evennia/objects/manager.py @@ -507,7 +507,7 @@ class ObjectDBManager(TypedObjectManager): # copy over all tags, if any for tag in original_object.tags.get(return_tagobj=True, return_list=True): - new_object.tags.add(tag=tag.key, category=tag.category, data=tag.data) + new_object.tags.add(tag=tag.db_key, category=tag.db_category, data=tag.db_data) return new_object diff --git a/evennia/server/evennia_launcher.py b/evennia/server/evennia_launcher.py index 43b374913f..c9fbef49df 100644 --- a/evennia/server/evennia_launcher.py +++ b/evennia/server/evennia_launcher.py @@ -147,7 +147,7 @@ ERROR_NO_ALT_GAMEDIR = \ ERROR_NO_GAMEDIR = \ """ ERROR: No Evennia settings file was found. Evennia looks for the - file in your game directory as server/conf/settings.py. + file in your game directory as ./server/conf/settings.py. You must run this command from somewhere inside a valid game directory first created with @@ -238,10 +238,11 @@ RECREATED_MISSING = \ ERROR_DATABASE = \ """ - ERROR: Your database does not seem to be set up correctly. + ERROR: Your database does not exist or is not set up correctly. (error was '{traceback}') - Standing in your game directory, run + If you think your database should work, make sure you are running your + commands from inside your game directory. If this error persists, run evennia migrate @@ -2052,16 +2053,24 @@ def main(): sys.exit() if args.initmissing: + created = False try: log_path = os.path.join(SERVERDIR, "logs") if not os.path.exists(log_path): os.makedirs(log_path) + print(f" ... Created missing log dir {log_path}.") + created = True settings_path = os.path.join(CONFDIR, "secret_settings.py") if not os.path.exists(settings_path): create_settings_file(init=False, secret_settings=True) + print(f" ... Created missing secret_settings.py file as {settings_path}.") + created = True - print(RECREATED_MISSING) + if created: + print(RECREATED_MISSING) + else: + print(" ... No missing resources to create/init. You are good to go.") except IOError: print(ERROR_INITMISSING) sys.exit()