diff options
Diffstat (limited to 'test/lib/ansible_test/_internal/classification/common.py')
-rw-r--r-- | test/lib/ansible_test/_internal/classification/common.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/test/lib/ansible_test/_internal/classification/common.py b/test/lib/ansible_test/_internal/classification/common.py new file mode 100644 index 0000000000..b206bee3f9 --- /dev/null +++ b/test/lib/ansible_test/_internal/classification/common.py @@ -0,0 +1,29 @@ +"""Common classification code used by multiple languages.""" +from __future__ import annotations + +import os + +from ..data import ( + data_context, +) + + +def resolve_csharp_ps_util(import_name, path): + """ + :type import_name: str + :type path: str + """ + if data_context().content.is_ansible or not import_name.startswith('.'): + # We don't support relative paths for builtin utils, there's no point. + return import_name + + packages = import_name.split('.') + module_packages = path.split(os.path.sep) + + for package in packages: + if not module_packages or package: + break + del module_packages[-1] + + return 'ansible_collections.%s%s' % (data_context().content.prefix, + '.'.join(module_packages + [p for p in packages if p])) |