Server IP : 85.214.239.14 / Your IP : 18.219.158.84 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /lib/python3/dist-packages/ansible_test/_internal/provider/source/ |
Upload File : |
"""Fallback source provider when no other provider matches the content root.""" from __future__ import annotations import os from ...constants import ( TIMEOUT_PATH, ) from ...encoding import ( to_bytes, ) from . import ( SourceProvider, ) class UnversionedSource(SourceProvider): """Fallback source provider when no other provider matches the content root.""" sequence = 0 # disable automatic detection @staticmethod def is_content_root(path: str) -> bool: """Return True if the given path is a content root for this provider.""" return False def get_paths(self, path: str) -> list[str]: """Return the list of available content paths under the given path.""" paths = [] kill_any_dir = ( '.idea', '.pytest_cache', '__pycache__', 'ansible.egg-info', 'ansible_base.egg-info', 'ansible_core.egg-info', ) kill_sub_dir = { 'test': ( 'results', 'cache', 'output', ), 'tests': ( 'output', ), } kill_sub_file = { '': ( TIMEOUT_PATH, ), } kill_extensions = ( '.pyc', '.pyo', '.retry', ) for root, dir_names, file_names in os.walk(path): rel_root = os.path.relpath(root, path) if rel_root == '.': rel_root = '' for kill in kill_any_dir + kill_sub_dir.get(rel_root, ()): if kill in dir_names: dir_names.remove(kill) kill_files = kill_sub_file.get(rel_root, ()) paths.extend([os.path.join(rel_root, file_name) for file_name in file_names if not os.path.splitext(file_name)[1] in kill_extensions and file_name not in kill_files]) # include directory symlinks since they will not be traversed and would otherwise go undetected paths.extend([os.path.join(rel_root, dir_name) + os.path.sep for dir_name in dir_names if os.path.islink(to_bytes(dir_name))]) return paths