Skip to content

Commit a06568c

Browse files
committed
Improve error handling
1 parent 9116658 commit a06568c

File tree

2 files changed

+17
-13
lines changed

2 files changed

+17
-13
lines changed

src/config_generator/config_generator.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,8 @@ def __init__(self, config, logger, config_file_dir, use_cached_project_metadata,
148148
themes_config = os.path.join(config_file_dir, themes_config)
149149
with open(themes_config, encoding='utf-8') as f:
150150
config["themesConfig"] = json.load(f)
151-
except:
152-
msg = "Failed to read themes configuration %s" % themes_config
151+
except Exception as e:
152+
msg = "Failed to read themes configuration %s:\n%s" % (themes_config, str(e))
153153
self.logger.critical(msg)
154154
raise Exception(msg)
155155
elif not isinstance(themes_config, dict):
@@ -174,8 +174,8 @@ def __init__(self, config, logger, config_file_dir, use_cached_project_metadata,
174174
themes_config_template_path = os.path.join(os.path.dirname(config_template_path), themes_config_template)
175175
with open(themes_config_template_path, encoding='utf-8') as f:
176176
config_template["themesConfig"] = json.load(f)
177-
except:
178-
msg = "Failed to read themes configuration %s" % themes_config_template_path
177+
except Exception as e:
178+
msg = "Failed to read themes configuration %s:\n%s" % (themes_config_template_path, str(e))
179179
self.logger.critical(msg)
180180
raise Exception(msg)
181181

src/server.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ def config_generator(tenant, logger, use_cached_project_metadata, force_readonly
2222
"""
2323
if tenant is None:
2424
msg = "No tenant selected"
25-
logger.error(msg)
26-
raise Exception(msg)
25+
logger.critical(msg)
26+
return None
2727

2828
# read ConfigGenerator config file
2929
config_in_path = os.environ.get(
@@ -39,11 +39,14 @@ def config_generator(tenant, logger, use_cached_project_metadata, force_readonly
3939
config = json.load(f, object_pairs_hook=OrderedDict)
4040
except Exception as e:
4141
msg = "Error loading ConfigGenerator config:\n%s" % e
42-
logger.error(msg)
43-
raise Exception(msg)
42+
logger.critical(msg)
43+
return None
4444

4545
# create ConfigGenerator
46-
return ConfigGenerator(config, logger, config_file_dir, use_cached_project_metadata, force_readonly_datasets)
46+
try:
47+
return ConfigGenerator(config, logger, config_file_dir, use_cached_project_metadata, force_readonly_datasets)
48+
except:
49+
return None
4750

4851

4952
# routes
@@ -79,11 +82,12 @@ def run_config_generator(args):
7982
tenant = args.get("tenant")
8083
use_cached_project_metadata = str(args.get("use_cached_project_metadata", "")).lower() in ["1","true"]
8184
force_readonly_datasets = str(args.get("force_readonly_datasets", "")).lower() in ["1","true"]
82-
generator = config_generator(tenant, logger, use_cached_project_metadata, force_readonly_datasets)
8385
try:
84-
generator.write_configs()
85-
generator.write_permissions()
86-
generator.cleanup_temp_dir()
86+
generator = config_generator(tenant, logger, use_cached_project_metadata, force_readonly_datasets)
87+
if generator:
88+
generator.write_configs()
89+
generator.write_permissions()
90+
generator.cleanup_temp_dir()
8791
except Exception as e:
8892
logger.error("<b>Python Exception: %s\n%s</b>" % (str(e), traceback.format_exc()))
8993

0 commit comments

Comments
 (0)