Coverage for glotter/run.py: 20%
19 statements
« prev ^ index » next coverage.py v7.6.12, created at 2025-04-12 02:25 +0000
« prev ^ index » next coverage.py v7.6.12, created at 2025-04-12 02:25 +0000
1from glotter.source import get_sources, filter_sources
2from glotter.settings import Settings
5def run(args):
6 sources_by_type = filter_sources(args, get_sources(Settings().source_root))
7 for project_type, sources in sources_by_type.items():
8 params = _prompt_params(project_type)
9 for source in sources:
10 _build_and_run(source, params)
13def _prompt_params(project_type):
14 if not Settings().projects[project_type].requires_parameters:
15 return ""
16 return input(f'input parameters for "{project_type}": ')
19def _build_and_run(source, params):
20 print()
21 print(f'Running "{source.name}{source.extension}"...')
22 try:
23 source.build()
24 print(source.run(params))
25 finally:
26 source.cleanup()