1
1
import logging
2
2
from copy import deepcopy
3
+ from typing import TYPE_CHECKING
3
4
from typing import Union , List , Optional , Dict , Tuple
4
5
5
- from aliases import OpenstackResourceObj , PropValue
6
- from enums .props .prop_enum import PropEnum
7
- from enums .sort_order import SortOrder
8
- from enums .query_presets import QueryPresets
9
- from exceptions .parse_query_error import ParseQueryError
10
- from structs .query_components import QueryComponents
6
+ from openstackquery .aliases import OpenstackResourceObj , PropValue
7
+ from openstackquery .enums .props .prop_enum import PropEnum
8
+ from openstackquery .enums .sort_order import SortOrder
9
+ from openstackquery .enums .query_presets import QueryPresets
10
+ from openstackquery .exceptions .parse_query_error import ParseQueryError
11
+
12
+ if TYPE_CHECKING :
13
+ from openstackquery .structs .query_components import QueryComponents
11
14
12
15
logger = logging .getLogger (__name__ )
13
16
@@ -17,9 +20,9 @@ class QueryAPI:
17
20
Interface for Query Classes. This class exposes all public methods for query api.
18
21
"""
19
22
20
- def __init__ (self , query_components : QueryComponents ):
23
+ def __init__ (self , query_components : " QueryComponents" ):
21
24
self .builder = query_components .builder
22
- self .executer = query_components .executer
25
+ self .executor = query_components .executor
23
26
self .parser = query_components .parser
24
27
self .output = query_components .output
25
28
self .chainer = query_components .chainer
@@ -123,11 +126,11 @@ def run(
123
126
filters = (
124
127
self .builder .client_side_filters + self .builder .server_filter_fallback
125
128
)
126
- self .executer .run_with_subset (
129
+ self .executor .run_with_subset (
127
130
subset = from_subset , client_side_filters = filters
128
131
)
129
132
else :
130
- self .executer .run_with_openstacksdk (
133
+ self .executor .run_with_openstacksdk (
131
134
cloud_account = cloud_account ,
132
135
client_side_filters = self .builder .client_side_filters ,
133
136
server_side_filters = self .builder .server_side_filters ,
@@ -136,12 +139,12 @@ def run(
136
139
137
140
link_prop , forwarded_vals = self .chainer .forwarded_info
138
141
if forwarded_vals :
139
- self .executer .apply_forwarded_results (
142
+ self .executor .apply_forwarded_results (
140
143
link_prop ,
141
144
deepcopy (forwarded_vals ),
142
145
)
143
146
144
- self .results_container = self .executer .results_container
147
+ self .results_container = self .executor .results_container
145
148
return self
146
149
147
150
def to_objects (
@@ -152,7 +155,7 @@ def to_objects(
152
155
This is either returned as a list if no groups are specified, or as a dict if they grouping was requested
153
156
:param groups: a list of group keys to limit output by
154
157
"""
155
- if self .executer .has_forwarded_results :
158
+ if self .executor .has_forwarded_results :
156
159
logger .warning (
157
160
"This Query has properties from previous queries. Running to_objects WILL IGNORE THIS "
158
161
"Use to_props() instead if you want to include these properties"
0 commit comments