mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-01 15:37:32 +08:00
71 lines
1.9 KiB
Python
71 lines
1.9 KiB
Python
import sys
|
|
|
|
|
|
def main():
|
|
"""Entry point for conversion procedure."""
|
|
found_app_main = False
|
|
current_section_desc = []
|
|
current_section_options = []
|
|
try:
|
|
sample = sys.argv[1]
|
|
except KeyError:
|
|
sample = "config/galaxy.ini.sample"
|
|
|
|
for line in open(sample):
|
|
is_app_main = line.startswith("[app:main]")
|
|
if not found_app_main and not is_app_main:
|
|
continue
|
|
if is_app_main:
|
|
found_app_main = True
|
|
continue
|
|
|
|
line = line.strip()
|
|
if not line.startswith("#"):
|
|
for section_option in current_section_options:
|
|
_dump_option(section_option, current_section_desc)
|
|
current_section_desc = []
|
|
current_section_options = []
|
|
if line.startswith("[galaxy_amqp]"):
|
|
break
|
|
|
|
if line.startswith("# ") or "#" == line:
|
|
current_section_desc.append(line[2:])
|
|
elif line.startswith("#"):
|
|
current_section_options.append(line)
|
|
|
|
|
|
def _dump_option(option, current_section_desc):
|
|
def print_line(line):
|
|
print((" " * 6) + line)
|
|
|
|
if "=" not in option:
|
|
print(option)
|
|
key, default = (s.strip() for s in option.split("=", 1))
|
|
key = key[1:] # strip #
|
|
if default.strip().lower() in ["true", "false"]:
|
|
default = default.lower()
|
|
type = "bool"
|
|
elif default.isdigit():
|
|
type = "int"
|
|
else:
|
|
try:
|
|
float(default)
|
|
type = "float"
|
|
except ValueError:
|
|
type = "str"
|
|
if default == "None":
|
|
default = None
|
|
print_line(f"{key}:")
|
|
print_line(f" type: {type}")
|
|
if default is not None:
|
|
print_line(f" default: {default}")
|
|
# print_line(" required: false")
|
|
print_line(" desc: |")
|
|
for line in current_section_desc:
|
|
print_line(f" {line}")
|
|
print_line("")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|