You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
![]() Since all Ansible modules ever written are using worst practice Python, the module loader must be rewritten to cope with their horrors. Ansible is woeful software: * AnsibleModule argument declarations appear within the main() function, so they can't be introspected prior to execution. * No if __name__ == '__main__' guard means they can't be introspected without triggering execution. * By default the main() function attempts to read from stdin, hanging our IO thread. * So much unspeakable crap. This rewrites the module loader to avoid actually running a module if it can possibly be avoided. The downside is that the new loader must be aware of far more details of the Python module mechanism. For example with the new importer, namespace packages are broken at the very least. On the plus side, now the module loader will be able to cope with Django. |
8 years ago | |
---|---|---|
.. | ||
__init__.py | 8 years ago | |
pkgutil.py | 8 years ago |