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
|
import os
|
||||||
from errno import EEXIST
|
from errno import EEXIST
|
||||||
|
from ansible.utils.unicode import to_bytes
|
||||||
|
|
||||||
__all__ = ['unfrackpath']
|
__all__ = ['unfrackpath']
|
||||||
|
|
||||||
|
@ -33,7 +34,7 @@ def unfrackpath(path):
|
||||||
|
|
||||||
def makedirs_safe(path, mode=None):
|
def makedirs_safe(path, mode=None):
|
||||||
'''Safe way to create dirs in muliprocess/thread environments'''
|
'''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:
|
try:
|
||||||
if mode:
|
if mode:
|
||||||
os.makedirs(path, mode)
|
os.makedirs(path, mode)
|
||||||
|
|
|
@ -14,18 +14,20 @@
|
||||||
### copy local file with unicode filename and content
|
### copy local file with unicode filename and content
|
||||||
|
|
||||||
- name: create 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
|
- 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
|
- 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
|
### fetch remote file with unicode filename and content
|
||||||
|
|
||||||
- name: remove local 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
|
- 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
|
### remove local and remote temp files
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue