|
19 | 19 | 'skip_all_except_numpy_parameters': False, |
20 | 20 | 'mechanism': 'fixed, passed-in, len', |
21 | 21 | 'python_api_list': True, |
| 22 | + 'skip_all_except_complex_type_parameters': False, |
22 | 23 | }, |
23 | 24 | ParameterUsageOptions.SESSION_METHOD_PASSTHROUGH_CALL: { |
24 | 25 | 'skip_session_handle': True, |
|
33 | 34 | 'skip_all_except_numpy_parameters': False, |
34 | 35 | 'mechanism': 'fixed, passed-in, len', |
35 | 36 | 'python_api_list': True, |
| 37 | + 'skip_all_except_complex_type_parameters': False, |
36 | 38 | }, |
37 | 39 | ParameterUsageOptions.SESSION_NUMPY_INTO_METHOD_DECLARATION: { |
38 | 40 | 'skip_session_handle': True, |
|
47 | 49 | 'skip_all_except_numpy_parameters': False, |
48 | 50 | 'mechanism': 'fixed, passed-in', |
49 | 51 | 'python_api_list': False, |
| 52 | + 'skip_all_except_complex_type_parameters': False, |
50 | 53 | }, |
51 | 54 | ParameterUsageOptions.INTERPRETER_NUMPY_INTO_METHOD_DECLARATION: { |
52 | 55 | 'skip_session_handle': True, |
|
61 | 64 | 'skip_all_except_numpy_parameters': False, |
62 | 65 | 'mechanism': 'fixed, passed-in', |
63 | 66 | 'python_api_list': False, |
| 67 | + 'skip_all_except_complex_type_parameters': False, |
64 | 68 | }, |
65 | 69 | ParameterUsageOptions.SESSION_METHOD_CALL: { |
66 | 70 | 'skip_session_handle': True, |
|
75 | 79 | 'skip_all_except_numpy_parameters': False, |
76 | 80 | 'mechanism': 'fixed, passed-in', |
77 | 81 | 'python_api_list': True, |
| 82 | + 'skip_all_except_complex_type_parameters': False, |
78 | 83 | }, |
79 | 84 | ParameterUsageOptions.DOCUMENTATION_SESSION_METHOD: { |
80 | 85 | 'skip_session_handle': True, |
|
89 | 94 | 'skip_all_except_numpy_parameters': False, |
90 | 95 | 'mechanism': 'any', |
91 | 96 | 'python_api_list': True, |
| 97 | + 'skip_all_except_complex_type_parameters': False, |
92 | 98 | }, |
93 | 99 | ParameterUsageOptions.LIBRARY_METHOD_DECLARATION: { |
94 | 100 | 'skip_session_handle': False, |
|
103 | 109 | 'skip_all_except_numpy_parameters': False, |
104 | 110 | 'mechanism': 'any', |
105 | 111 | 'python_api_list': True, |
| 112 | + 'skip_all_except_complex_type_parameters': False, |
106 | 113 | }, |
107 | 114 | ParameterUsageOptions.LIBRARY_METHOD_CALL: { |
108 | 115 | 'skip_session_handle': False, |
|
117 | 124 | 'skip_all_except_numpy_parameters': False, |
118 | 125 | 'mechanism': 'any', |
119 | 126 | 'python_api_list': True, |
| 127 | + 'skip_all_except_complex_type_parameters': False, |
120 | 128 | }, |
121 | 129 | ParameterUsageOptions.GRPC_REQUEST_PARAMETERS: { |
122 | 130 | 'skip_session_handle': False, |
|
131 | 139 | 'skip_all_except_numpy_parameters': False, |
132 | 140 | 'mechanism': 'any', |
133 | 141 | 'python_api_list': True, |
| 142 | + 'skip_all_except_complex_type_parameters': False, |
134 | 143 | }, |
135 | 144 | ParameterUsageOptions.CTYPES_ARGTYPES: { |
136 | 145 | 'skip_session_handle': False, |
|
145 | 154 | 'skip_all_except_numpy_parameters': False, |
146 | 155 | 'mechanism': 'any', |
147 | 156 | 'python_api_list': True, |
| 157 | + 'skip_all_except_complex_type_parameters': False, |
148 | 158 | }, |
149 | 159 | ParameterUsageOptions.INTERPRETER_METHOD_DECLARATION: { |
150 | 160 | 'skip_session_handle': True, |
|
159 | 169 | 'skip_all_except_numpy_parameters': False, |
160 | 170 | 'mechanism': 'fixed, passed-in, len', |
161 | 171 | 'python_api_list': True, |
| 172 | + 'skip_all_except_complex_type_parameters': False, |
162 | 173 | }, |
163 | 174 | ParameterUsageOptions.INPUT_PARAMETERS: { |
164 | 175 | 'skip_session_handle': True, |
|
173 | 184 | 'skip_all_except_numpy_parameters': False, |
174 | 185 | 'mechanism': 'any', |
175 | 186 | 'python_api_list': True, |
| 187 | + 'skip_all_except_complex_type_parameters': False, |
176 | 188 | }, |
177 | 189 | ParameterUsageOptions.LIBRARY_OUTPUT_PARAMETERS: { |
178 | 190 | 'skip_session_handle': True, |
|
187 | 199 | 'skip_all_except_numpy_parameters': False, |
188 | 200 | 'mechanism': 'any', |
189 | 201 | 'python_api_list': True, |
| 202 | + 'skip_all_except_complex_type_parameters': False, |
190 | 203 | }, |
191 | 204 | ParameterUsageOptions.API_OUTPUT_PARAMETERS: { |
192 | 205 | 'skip_session_handle': True, |
|
201 | 214 | 'skip_all_except_numpy_parameters': False, |
202 | 215 | 'mechanism': 'any', |
203 | 216 | 'python_api_list': False, |
| 217 | + 'skip_all_except_complex_type_parameters': False, |
204 | 218 | }, |
205 | 219 | ParameterUsageOptions.API_NUMPY_OUTPUT_PARAMETERS: { |
206 | 220 | 'skip_session_handle': True, |
|
215 | 229 | 'skip_all_except_numpy_parameters': False, |
216 | 230 | 'mechanism': 'any', |
217 | 231 | 'python_api_list': False, |
| 232 | + 'skip_all_except_complex_type_parameters': False, |
218 | 233 | }, |
219 | 234 | ParameterUsageOptions.GRPC_OUTPUT_PARAMETERS: { |
220 | 235 | 'skip_session_handle': True, |
|
229 | 244 | 'skip_all_except_numpy_parameters': False, |
230 | 245 | 'mechanism': 'any', |
231 | 246 | 'python_api_list': False, |
| 247 | + 'skip_all_except_complex_type_parameters': False, |
232 | 248 | }, |
233 | 249 | ParameterUsageOptions.NUMPY_PARAMETERS: { |
234 | 250 | 'skip_session_handle': True, |
|
243 | 259 | 'skip_all_except_numpy_parameters': True, |
244 | 260 | 'mechanism': 'any', |
245 | 261 | 'python_api_list': True, |
| 262 | + 'skip_all_except_complex_type_parameters': False, |
246 | 263 | }, |
247 | 264 | ParameterUsageOptions.IVI_DANCE_PARAMETER: { |
248 | 265 | 'skip_session_handle': True, |
|
257 | 274 | 'skip_all_except_numpy_parameters': False, |
258 | 275 | 'mechanism': 'ivi-dance, ivi-dance-with-a-twist', |
259 | 276 | 'python_api_list': True, |
| 277 | + 'skip_all_except_complex_type_parameters': False, |
260 | 278 | }, |
261 | 279 | ParameterUsageOptions.LEN_PARAMETER: { |
262 | 280 | 'skip_session_handle': True, |
|
271 | 289 | 'skip_all_except_numpy_parameters': False, |
272 | 290 | 'mechanism': 'len', |
273 | 291 | 'python_api_list': True, |
| 292 | + 'skip_all_except_complex_type_parameters': False, |
274 | 293 | }, |
275 | 294 | ParameterUsageOptions.INPUT_ENUM_PARAMETERS: { |
276 | 295 | 'skip_session_handle': True, |
|
285 | 304 | 'skip_all_except_numpy_parameters': False, |
286 | 305 | 'mechanism': 'any', |
287 | 306 | 'python_api_list': True, |
| 307 | + 'skip_all_except_complex_type_parameters': False, |
| 308 | + }, |
| 309 | + ParameterUsageOptions.COMPLEX_NUMBER_PARAMETERS: { |
| 310 | + 'skip_session_handle': True, |
| 311 | + 'skip_input_parameters': False, |
| 312 | + 'skip_output_parameters': False, |
| 313 | + 'but_keep_output_numpy_array_parameters': False, |
| 314 | + 'skip_size_parameter': False, |
| 315 | + 'reordered_for_default_values': False, |
| 316 | + 'skip_repeated_capability_parameter': False, |
| 317 | + 'skip_non_enum_parameter': False, |
| 318 | + 'skip_numpy_parameters': False, |
| 319 | + 'skip_all_except_numpy_parameters': False, |
| 320 | + 'mechanism': 'any', |
| 321 | + 'python_api_list': True, |
| 322 | + 'skip_all_except_complex_type_parameters': True, |
288 | 323 | }, |
289 | 324 | } |
290 | 325 |
|
@@ -349,6 +384,8 @@ def filter_parameters(parameters, parameter_usage_options): |
349 | 384 | skip = False |
350 | 385 | if not options_to_use['python_api_list'] and not x['use_in_python_api']: |
351 | 386 | skip = True |
| 387 | + if options_to_use['skip_all_except_complex_type_parameters'] and x['complex_type'] is None: |
| 388 | + skip = True |
352 | 389 | if not skip: |
353 | 390 | parameters_to_use.append(x) |
354 | 391 |
|
@@ -451,3 +488,13 @@ def filter_codegen_enums(enums): |
451 | 488 | return {k: v for k, v in enums.items() if v['codegen_method'] != 'no'} |
452 | 489 |
|
453 | 490 |
|
| 491 | +def are_complex_parameters_used(functions): |
| 492 | + '''Returns bool based on whether any complex parameters are used in the functions metadata.''' |
| 493 | + are_complex_parameters_used = False |
| 494 | + complex_parameters = [] |
| 495 | + for k, v in functions.items(): |
| 496 | + complex_parameters = filter_parameters(v['parameters'], ParameterUsageOptions.COMPLEX_NUMBER_PARAMETERS) |
| 497 | + if complex_parameters != []: |
| 498 | + are_complex_parameters_used = True |
| 499 | + break |
| 500 | + return are_complex_parameters_used |
0 commit comments