Merge pull request #14937 from mattclay/unicode-dir
Fix missing to_bytes on directory path.
This commit is contained in:
commit
180e70b67a
2 changed files with 9 additions and 6 deletions
|
@ -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…
Reference in a new issue