forked from ansible/ansible
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This PR includes: - PEP8 compliancy fixes - Documentation fixes
- Loading branch information
Showing
2 changed files
with
26 additions
and
49 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,20 @@ | ||
#!/usr/bin/python | ||
# -*- coding: utf-8 -*- | ||
|
||
# (c) 2012, Matt Wright <[email protected]> | ||
# Copyright: (c) 2012, Matt Wright <[email protected]> | ||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) | ||
|
||
from __future__ import absolute_import, division, print_function | ||
__metaclass__ = type | ||
|
||
|
||
ANSIBLE_METADATA = {'metadata_version': '1.1', | ||
'status': ['preview'], | ||
'supported_by': 'core'} | ||
|
||
|
||
DOCUMENTATION = ''' | ||
--- | ||
module: pip | ||
short_description: Manages Python library dependencies. | ||
short_description: Manages Python library dependencies | ||
description: | ||
- "Manage Python library dependencies. To use this module, one of the following keys is required: C(name) | ||
or C(requirements)." | ||
|
@@ -26,19 +24,13 @@ | |
description: | ||
- The name of a Python library to install or the url of the remote package. | ||
- As of 2.2 you can supply a list of names. | ||
required: false | ||
default: null | ||
version: | ||
description: | ||
- The version number to install of the Python library specified in the I(name) parameter | ||
required: false | ||
default: null | ||
- The version number to install of the Python library specified in the I(name) parameter. | ||
requirements: | ||
description: | ||
- The path to a pip requirements file, which should be local to the remote system. | ||
File can be specified as a relative path if using the chdir option. | ||
required: false | ||
default: null | ||
virtualenv: | ||
description: | ||
- An optional path to a I(virtualenv) directory to install into. | ||
|
@@ -47,62 +39,51 @@ | |
If the virtualenv does not exist, it will be created before installing | ||
packages. The optional virtualenv_site_packages, virtualenv_command, | ||
and virtualenv_python options affect the creation of the virtualenv. | ||
required: false | ||
default: null | ||
virtualenv_site_packages: | ||
version_added: "1.0" | ||
description: | ||
- Whether the virtual environment will inherit packages from the | ||
global site-packages directory. Note that if this setting is | ||
changed on an already existing virtual environment it will not | ||
have any effect, the environment must be deleted and newly | ||
created. | ||
required: false | ||
type: bool | ||
default: "no" | ||
choices: [ "yes", "no" ] | ||
version_added: "1.0" | ||
virtualenv_command: | ||
version_added: "1.1" | ||
description: | ||
- The command or a pathname to the command to create the virtual | ||
environment with. For example C(pyvenv), C(virtualenv), | ||
C(virtualenv2), C(~/bin/virtualenv), C(/usr/local/bin/virtualenv). | ||
required: false | ||
default: virtualenv | ||
version_added: "1.1" | ||
virtualenv_python: | ||
version_added: "2.0" | ||
description: | ||
- The Python executable used for creating the virtual environment. | ||
For example C(python3.5), C(python2.7). When not specified, the | ||
Python version used to run the ansible module is used. This parameter | ||
should not be used when C(virtualenv_command) is using C(pyvenv) or | ||
the C(-m venv) module. | ||
required: false | ||
default: null | ||
version_added: "2.0" | ||
state: | ||
description: | ||
- The state of module | ||
- The 'forcereinstall' option is only available in Ansible 2.1 and above. | ||
required: false | ||
choices: [ absent, forcereinstall, latest, present ] | ||
default: present | ||
choices: [ "present", "absent", "latest", "forcereinstall" ] | ||
extra_args: | ||
description: | ||
- Extra arguments passed to pip. | ||
required: false | ||
default: null | ||
version_added: "1.0" | ||
editable: | ||
description: | ||
- Pass the editable flag. | ||
required: false | ||
default: false | ||
type: bool | ||
default: 'no' | ||
version_added: "2.0" | ||
chdir: | ||
description: | ||
- cd into this directory before running the command | ||
version_added: "1.3" | ||
required: false | ||
default: null | ||
executable: | ||
description: | ||
- The explicit executable or a pathname to the executable to be used to | ||
|
@@ -113,8 +94,6 @@ | |
By default, it will take the appropriate version for the python interpreter | ||
use by ansible, e.g. pip3 on python 3, and pip2 or pip on python 2. | ||
version_added: "1.3" | ||
required: false | ||
default: null | ||
umask: | ||
description: | ||
- The system umask to apply before installing the pip package. This is | ||
|
@@ -123,17 +102,17 @@ | |
packages which are to be used by all users. Note that this requires you | ||
to specify desired umask mode in octal, with a leading 0 (e.g., 0077). | ||
version_added: "2.1" | ||
required: false | ||
default: null | ||
notes: | ||
- Please note that virtualenv (U(http://www.virtualenv.org/)) must be | ||
installed on the remote host if the virtualenv parameter is specified and | ||
the virtualenv needs to be created. | ||
- By default, this module will use the appropriate version of pip for the | ||
interpreter used by ansible (e.g. pip3 when using python 3, pip2 otherwise) | ||
requirements: [ "virtualenv", "pip" ] | ||
author: "Matt Wright (@mattupstate)" | ||
requirements: | ||
- pip | ||
- virtualenv | ||
author: | ||
- Matt Wright (@mattupstate) | ||
''' | ||
|
||
EXAMPLES = ''' | ||
|
@@ -307,8 +286,8 @@ def _get_pip(module, env=None, executable=None): | |
else: | ||
# For-else: Means that we did not break out of the loop | ||
# (therefore, that pip was not found) | ||
module.fail_json(msg='Unable to find any of %s to use. pip' | ||
' needs to be installed.' % ', '.join(candidate_pip_basenames)) | ||
module.fail_json(msg='Unable to find any of %s to use. pip' + | ||
' needs to be installed.' % ', '.join(candidate_pip_basenames)) | ||
else: | ||
# If we're using a virtualenv we must use the pip from the | ||
# virtualenv | ||
|
@@ -322,10 +301,9 @@ def _get_pip(module, env=None, executable=None): | |
else: | ||
# For-else: Means that we did not break out of the loop | ||
# (therefore, that pip was not found) | ||
module.fail_json(msg='Unable to find pip in the virtualenv,' | ||
' %s, under any of these names: %s. Make sure pip is' | ||
' present in the virtualenv.' % (env, | ||
', '.join(candidate_pip_basenames))) | ||
module.fail_json(msg='Unable to find pip in the virtualenv, %s, ' % env + | ||
'under any of these names: %s. ' % (', '.join(candidate_pip_basenames)) + | ||
'Make sire pip is present in the virtualenv.') | ||
|
||
return pip | ||
|
||
|
@@ -374,24 +352,24 @@ def main(): | |
|
||
module = AnsibleModule( | ||
argument_spec=dict( | ||
state=dict(default='present', choices=state_map.keys()), | ||
state=dict(type='str', default='present', choices=state_map.keys()), | ||
name=dict(type='list'), | ||
version=dict(type='str'), | ||
requirements=dict(type='str'), | ||
virtualenv=dict(type='path'), | ||
virtualenv_site_packages=dict(default=False, type='bool'), | ||
virtualenv_command=dict(default='virtualenv', type='path'), | ||
virtualenv_site_packages=dict(type='bool', default=False), | ||
virtualenv_command=dict(type='path', default='virtualenv'), | ||
virtualenv_python=dict(type='str'), | ||
use_mirrors=dict(default=True, type='bool'), | ||
use_mirrors=dict(type='bool', default=True), | ||
extra_args=dict(type='str'), | ||
editable=dict(default=False, type='bool'), | ||
editable=dict(type='bool', default=False), | ||
chdir=dict(type='path'), | ||
executable=dict(type='path'), | ||
umask=dict(type='str'), | ||
), | ||
required_one_of=[['name', 'requirements']], | ||
mutually_exclusive=[['name', 'requirements'], ['executable', 'virtualenv']], | ||
supports_check_mode=True | ||
supports_check_mode=True, | ||
) | ||
|
||
state = module.params['state'] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters