| Total Complexity | 3 |
| Total Lines | 29 |
| Duplicated Lines | 0 % |
| Changes | 0 | ||
| 1 | from .data_manager import DataManager |
||
| 2 | from .features.phi import PhiFunctionRegistrator |
||
| 3 | from .features import FeatureManager |
||
| 4 | from .command_factories import DataManagerCommandFactory |
||
| 5 | |||
| 6 | from .built_in_commands import encode_nominal_subsets_command |
||
| 7 | from .built_in_data_manager_commands import select_variables_command |
||
| 8 | from .pd_commands import data_manager_commands, arbitrary_commands |
||
| 9 | |||
| 10 | |||
| 11 | def init_data_manager(a_backend): |
||
| 12 | # Initialize DataManager instance and DataManagerCommandFactory |
||
| 13 | my_data_manager = DataManager(a_backend, type('PhiFunction', (PhiFunctionRegistrator,), {}), FeatureManager([])) |
||
| 14 | mega_cmd_factory = DataManagerCommandFactory(my_data_manager) |
||
| 15 | mega_cmd_factory.attach(my_data_manager.commands_manager.command.accumulator) |
||
| 16 | |||
| 17 | # Build backend-agnostic, built-in engine commands |
||
| 18 | my_data_manager.backend.engine.dec()(encode_nominal_subsets_command) |
||
| 19 | mega_cmd_factory.build_command_prototype()(select_variables_command) |
||
| 20 | |||
| 21 | # Build backend-dependent (eg dependent on pandas) client engine commands |
||
| 22 | for arbitrary_cmd in arbitrary_commands: |
||
| 23 | my_data_manager.backend.engine.dec()(arbitrary_cmd) |
||
| 24 | |||
| 25 | for data_manager_cmd in data_manager_commands: |
||
| 26 | mega_cmd_factory.build_command_prototype()(data_manager_cmd) |
||
| 27 | |||
| 28 | return my_data_manager |
||
| 29 |