From fff00122490f49335f080be51e87a81be5aa8366 Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Mon, 12 Jul 2021 11:41:05 +0200 Subject: [PATCH 1/1] simplify website setup code Use formaat strings and move variable quoting code into extra function. --- nominatim/tools/refresh.py | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/nominatim/tools/refresh.py b/nominatim/tools/refresh.py index 25a97127..97e2e037 100644 --- a/nominatim/tools/refresh.py +++ b/nominatim/tools/refresh.py @@ -155,6 +155,20 @@ def recompute_importance(conn): conn.commit() +def _quote_php_variable(var_type, config, conf_name): + if var_type == bool: + return 'true' if config.get_bool(conf_name) else 'false' + + if var_type == int: + return getattr(config, conf_name) + + if not getattr(config, conf_name): + return 'false' + + quoted = getattr(config, conf_name).replace("'", "\\'") + return f"'{quoted}'" + + def setup_website(basedir, config, conn): """ Create the website script stubs. """ @@ -174,18 +188,11 @@ def setup_website(basedir, config, conn): config.project_dir / 'tokenizer')) for php_name, conf_name, var_type in PHP_CONST_DEFS: - if var_type == bool: - varout = 'true' if config.get_bool(conf_name) else 'false' - elif var_type == int: - varout = getattr(config, conf_name) - elif not getattr(config, conf_name): - varout = 'false' - else: - varout = "'{}'".format(getattr(config, conf_name).replace("'", "\\'")) + varout = _quote_php_variable(var_type, config, conf_name) - template += "@define('CONST_{}', {});\n".format(php_name, varout) + template += f"@define('CONST_{php_name}', {varout});\n" - template += "\nrequire_once('{}/website/{{}}');\n".format(config.lib_dir.php) + template += f"\nrequire_once('{config.lib_dir.php}/website/{{}}');\n" search_name_table_exists = bool(conn and conn.table_exists('search_name')) -- 2.39.5