Coverage for glotter/run.py: 20%

19 statements  

« 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 

3 

4 

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) 

11 

12 

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}": ') 

17 

18 

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()