diff options
author | Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | 2019-06-21 18:50:43 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-21 18:50:43 +0100 |
commit | e1a795758c6ba3b1147412eb16beb8c6698d4160 (patch) | |
tree | c6abfa92de5a0481847a8adfc952fe1cdeee3107 | |
parent | Refactor Config parser and add some comments. (#5511) (diff) | |
download | synapse-e1a795758c6ba3b1147412eb16beb8c6698d4160.tar.xz |
Improve help and cmdline option names for --generate-config options (#5512)
* group the arguments together into a group * add new names "--generate-missing-config" and "--config-directory" for existing cmdline options "--generate-keys" and "--keys-dir", which better reflect their purposes.
-rw-r--r-- | changelog.d/5512.feature | 1 | ||||
-rw-r--r-- | synapse/config/_base.py | 50 |
2 files changed, 29 insertions, 22 deletions
diff --git a/changelog.d/5512.feature b/changelog.d/5512.feature new file mode 100644 index 0000000000..712878901b --- /dev/null +++ b/changelog.d/5512.feature @@ -0,0 +1 @@ +Improve help and cmdline option names for --generate-config options. diff --git a/synapse/config/_base.py b/synapse/config/_base.py index 8f4cd4b562..36e9c04cee 100644 --- a/synapse/config/_base.py +++ b/synapse/config/_base.py @@ -254,37 +254,43 @@ class Config(object): help="Specify config file. Can be given multiple times and" " may specify directories containing *.yaml files.", ) - config_parser.add_argument( + + generate_group = config_parser.add_argument_group("Config generation") + generate_group.add_argument( "--generate-config", action="store_true", - help="Generate a config file for the server name", + help="Generate a config file, then exit.", ) - config_parser.add_argument( + generate_group.add_argument( + "--generate-missing-configs", + "--generate-keys", + action="store_true", + help="Generate any missing additional config files, then exit.", + ) + generate_group.add_argument( + "-H", "--server-name", help="The server name to generate a config file for." + ) + generate_group.add_argument( "--report-stats", action="store", - help="Whether the generated config reports anonymized usage statistics", + help="Whether the generated config reports anonymized usage statistics.", choices=["yes", "no"], ) - config_parser.add_argument( - "--generate-keys", - action="store_true", - help="Generate any missing key files then exit", - ) - config_parser.add_argument( + generate_group.add_argument( + "--config-directory", "--keys-directory", metavar="DIRECTORY", - help="Used with 'generate-*' options to specify where files such as" - " signing keys should be stored, unless explicitly" - " specified in the config.", - ) - config_parser.add_argument( - "-H", "--server-name", help="The server name to generate a config file for" + help=( + "Specify where additional config files such as signing keys and log" + " config should be stored. Defaults to the same directory as the main" + " config file." + ), ) config_args, remaining_args = config_parser.parse_known_args(argv) config_files = find_config_files(search_paths=config_args.config_path) - generate_keys = config_args.generate_keys + generate_missing_configs = config_args.generate_missing_configs obj = cls() @@ -303,8 +309,8 @@ class Config(object): (config_path,) = config_files if not cls.path_exists(config_path): print("Generating config file %s" % (config_path,)) - if config_args.keys_directory: - config_dir_path = config_args.keys_directory + if config_args.config_directory: + config_dir_path = config_args.config_directory else: config_dir_path = os.path.dirname(config_path) config_dir_path = os.path.abspath(config_dir_path) @@ -350,7 +356,7 @@ class Config(object): ) % (config_path,) ) - generate_keys = True + generate_missing_configs = True parser = argparse.ArgumentParser( parents=[config_parser], @@ -369,10 +375,10 @@ class Config(object): ) config_dict = obj.read_config_files( - config_files, keys_directory=args.keys_directory + config_files, keys_directory=config_args.config_directory ) - if generate_keys: + if generate_missing_configs: obj.generate_missing_files(config_dict) return None |