1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

expand user before calling abspath (#40196)

* expand user before calling abspath

* omit expanduser code smell check for volumes
This commit is contained in:
Ben Berry 2018-06-13 18:18:02 -07:00 committed by Brian Coca
parent 414aae70b1
commit 32c191ee9c
2 changed files with 5 additions and 4 deletions

View file

@ -844,14 +844,14 @@ class TaskParameters(DockerBaseClass):
if ':' in vol: if ':' in vol:
if len(vol.split(':')) == 3: if len(vol.split(':')) == 3:
host, container, mode = vol.split(':') host, container, mode = vol.split(':')
if re.match(r'[\.~]', host): if re.match(r'[.~]', host):
host = os.path.abspath(host) host = os.path.abspath(os.path.expanduser(host))
new_vols.append("%s:%s:%s" % (host, container, mode)) new_vols.append("%s:%s:%s" % (host, container, mode))
continue continue
elif len(vol.split(':')) == 2: elif len(vol.split(':')) == 2:
parts = vol.split(':') parts = vol.split(':')
if parts[1] not in VOLUME_PERMISSIONS and re.match(r'[\.~]', parts[0]): if parts[1] not in VOLUME_PERMISSIONS and re.match(r'[.~]', parts[0]):
host = os.path.abspath(parts[0]) host = os.path.abspath(os.path.expanduser(parts[0]))
new_vols.append("%s:%s:rw" % (host, parts[1])) new_vols.append("%s:%s:rw" % (host, parts[1]))
continue continue
new_vols.append(vol) new_vols.append(vol)

View file

@ -7,6 +7,7 @@ import sys
def main(): def main():
skip = set([ skip = set([
# add legitimate uses of expanduser to the following list # add legitimate uses of expanduser to the following list
'lib/ansible/modules/cloud/docker/docker_container.py', # uses colon-separated paths, can't use type=path
'lib/ansible/modules/cloud/lxc/lxc_container.py', 'lib/ansible/modules/cloud/lxc/lxc_container.py',
'lib/ansible/modules/cloud/rackspace/rax_files_objects.py', 'lib/ansible/modules/cloud/rackspace/rax_files_objects.py',
'lib/ansible/modules/database/mongodb/mongodb_parameter.py', 'lib/ansible/modules/database/mongodb/mongodb_parameter.py',