ansible/hacking/ansible-profile
Toshio Kuratomi 33d2728879 Rename python files in hacking/ directory to have .py suffix
ansible-test only passes files which have the .py suffix for sanity
tests on python files.  This change will allow sanity tests to run on
the Python files in hacking/

* Rename test-module to test-module.py
* Symlink test-module for backwards compat since end users may be using
  test-module
* Fix test-module sanity errors that are now triggered
* Rename ansible_profile to ansible-profile.py
* Rename build-ansible
2019-07-10 22:17:35 -07:00

52 lines
1.4 KiB
Python
Executable file

#!/usr/bin/env python
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
import cProfile
import sys
import traceback
import ansible.constants as C
from ansible.module_utils._text import to_text
#__requires__ = ['ansible']
try:
import pkg_resources
except Exception:
# Use pkg_resources to find the correct versions of libraries and set
# sys.path appropriately when there are multiversion installs. But we
# have code that better expresses the errors in the places where the code
# is actually used (the deps are optional for many code paths) so we don't
# want to fail here.
pass
target = sys.argv.pop(1)
myclass = "%sCLI" % target.capitalize()
try:
# define cli
mycli = getattr(__import__("ansible.cli.%s" % target, fromlist=[myclass]), myclass)
except ImportError as e:
msg = getattr(e, 'msg', getattr(e, message, ''))
if msg.endswith(' %s' % target):
raise Exception("Ansible sub-program not implemented: %s" % target)
else:
raise
try:
args = [to_text(a, errors='surrogate_or_strict') for a in sys.argv]
except UnicodeError:
sys.stderr.write(u"The full traceback was:\n\n%s" % to_text(traceback.format_exc()))
sys.exit(u'Command line args are parsable to utf-8')
# init cli
cli = mycli(args)
print(cli.__class__.version_info(gitinfo=True))
# parse args
cli.parse()
# run
cProfile.run('cli.run()')