Merge pull request #14937 from mattclay/unicode-dir

Fix missing to_bytes on directory path.
pull/14949/head
Toshio Kuratomi 8 years ago
commit 180e70b67a

@ -19,6 +19,7 @@ __metaclass__ = type
import os
from errno import EEXIST
from ansible.utils.unicode import to_bytes
__all__ = ['unfrackpath']
@ -33,7 +34,7 @@ def unfrackpath(path):
def makedirs_safe(path, mode=None):
'''Safe way to create dirs in muliprocess/thread environments'''
if not os.path.exists(path):
if not os.path.exists(to_bytes(path, errors='strict')):
try:
if mode:
os.makedirs(path, mode)

@ -14,18 +14,20 @@
### copy local file with unicode filename and content
- name: create local file with unicode filename and content
local_action: lineinfile dest=/tmp/ansible-local-汉语 create=true line=汉语
local_action: lineinfile dest=/tmp/ansible-local-汉语/汉语.txt create=true line=汉语
- name: remove remote file with unicode filename and content
file: path=/tmp/ansible-remote-汉语 state=absent
file: path=/tmp/ansible-remote-汉语/汉语.txt state=absent
- name: create remote directory with unicode name
file: path=/tmp/ansible-remote-汉语 state=directory
- name: copy local file with unicode filename and content
copy: src=/tmp/ansible-local-汉语 dest=/tmp/ansible-remote-汉语
copy: src=/tmp/ansible-local-汉语/汉语.txt dest=/tmp/ansible-remote-汉语/汉语.txt
### fetch remote file with unicode filename and content
- name: remove local file with unicode filename and content
local_action: file path=/tmp/ansible-local-汉语 state=absent
local_action: file path=/tmp/ansible-local-汉语/汉语.txt state=absent
- name: fetch remote file with unicode filename and content
fetch: src=/tmp/ansible-remote-汉语 dest=/tmp/ansible-local-汉语 fail_on_missing=true validate_checksum=true flat=true
fetch: src=/tmp/ansible-remote-汉语/汉语.txt dest=/tmp/ansible-local-汉语/汉语.txt fail_on_missing=true validate_checksum=true flat=true
### remove local and remote temp files

Loading…
Cancel
Save