3333from .._stratisd_constants import ReportKey , StratisdErrors
3434from ._connection import get_object
3535from ._constants import TOP_OBJECT
36+ from ._dynamic import ClassKey , make_dyn_class
3637from ._formatting import print_table
3738
3839
@@ -44,8 +45,7 @@ def _fetch_keylist(proxy):
4445 :rtype: list of str
4546 :raises StratisCliEngineError:
4647 """
47- # pylint: disable=import-outside-toplevel
48- from ._data import Manager
48+ Manager = make_dyn_class (ClassKey .MANAGER )
4949
5050 (keys , return_code , message ) = Manager .Methods .ListKeys (proxy , {})
5151 if return_code != StratisdErrors .OK : # pragma: no cover
@@ -68,8 +68,7 @@ def _add_update_key(proxy, key_desc, capture_key, *, keyfile_path):
6868 """
6969 assert capture_key == (keyfile_path is None )
7070
71- # pylint: disable=import-outside-toplevel
72- from ._data import Manager
71+ Manager = make_dyn_class (ClassKey .MANAGER )
7372
7473 if capture_key :
7574 password = getpass (prompt = "Enter key data followed by the return key: " )
@@ -119,22 +118,22 @@ def get_report(namespace):
119118
120119 # pylint: disable=import-outside-toplevel
121120 if namespace .report_name == ReportKey .MANAGED_OBJECTS .value :
122- from . _data import ObjectManager
121+ ObjectManager = make_dyn_class ( ClassKey . OBJECT_MANAGER )
123122
124123 json_report = ObjectManager .Methods .GetManagedObjects (
125124 get_object (TOP_OBJECT ), {}
126125 )
127126
128127 else :
129128 if namespace .report_name == ReportKey .ENGINE_STATE .value :
130- from . _data import Manager
129+ Manager = make_dyn_class ( ClassKey . MANAGER )
131130
132131 (report , return_code , message ) = Manager .Methods .EngineStateReport (
133132 get_object (TOP_OBJECT ), {}
134133 )
135134
136135 else :
137- from . _data import Report
136+ Report = make_dyn_class ( ClassKey . REPORT )
138137
139138 (report , return_code , message ) = Report .Methods .GetReport (
140139 get_object (TOP_OBJECT ), {"name" : namespace .report_name }
@@ -242,8 +241,7 @@ def unset_key(namespace):
242241 :raises StratisCliNoChangeError:
243242 :raises StratisCliIncoherenceError:
244243 """
245- # pylint: disable=import-outside-toplevel
246- from ._data import Manager
244+ Manager = make_dyn_class (ClassKey .MANAGER )
247245
248246 proxy = get_object (TOP_OBJECT )
249247
0 commit comments