Coverage for nuremics\core\application.py: 100%

29 statements  

« prev     ^ index     » next       coverage.py v7.9.0, created at 2025-06-12 16:54 +0200

1from __future__ import annotations 

2 

3import json 

4import shutil 

5from pathlib import Path 

6 

7from .workflow import WorkFlow 

8 

9class Application: 

10 """Create application.""" 

11 

12 def __init__( 

13 self, 

14 app_name:str = None, 

15 working_dir: Path = None, 

16 workflow: list = None, 

17 studies: list = ["Default"], 

18 verbose: bool = True, 

19 ): 

20 # ---------------------- # 

21 # Define workflow object # 

22 # ---------------------- # 

23 self.workflow = WorkFlow( 

24 app_name=app_name, 

25 working_dir=working_dir, 

26 processes=workflow, 

27 studies=studies, 

28 verbose=verbose, 

29 ) 

30 

31 self.workflow.print_logo() 

32 self.workflow.print_application() 

33 

34 self.workflow.get_inputs() 

35 self.workflow.get_outputs() 

36 

37 self.workflow.init_config() 

38 

39 self.workflow.print_processes() 

40 

41 self.workflow.set_user_params_types() 

42 

43 self.workflow.print_io() 

44 

45 self.workflow.init_studies() 

46 self.workflow.test_studies_modification() 

47 self.workflow.test_studies_settings() 

48 self.workflow.print_studies() 

49 

50 self.workflow.configure_inputs() 

51 self.workflow.init_data_tree() 

52 

53 self.workflow.init_process_settings() 

54 

55 self.workflow.set_inputs() 

56 self.workflow.test_inputs_settings() 

57 self.workflow.print_inputs_settings() 

58 

59 self.workflow.init_paths() 

60 

61 def __call__(self): 

62 

63 # --------------- # 

64 # Launch workflow # 

65 # --------------- # 

66 self.workflow()