mirror of
https://github.com/valitydev/salt.git
synced 2024-11-07 17:09:03 +00:00
Extend salt.utils.istextfile() with utf-8 instead of binary detection
This commit is contained in:
parent
2b02315d73
commit
2a349ff102
@ -1107,6 +1107,11 @@ def istextfile(fp_, blocksize=512):
|
||||
elif not block:
|
||||
# An empty file is considered a valid text file
|
||||
return True
|
||||
try:
|
||||
block.decode('utf-8')
|
||||
return True
|
||||
except UnicodeDecodeError:
|
||||
pass
|
||||
|
||||
nontext = block.translate(None, text_characters)
|
||||
return float(len(nontext)) / len(block) <= 0.30
|
||||
|
@ -1555,7 +1555,8 @@ class FileTest(integration.ModuleCase, integration.SaltReturnAssertsMixIn):
|
||||
'name': '{0}'.format(test_file),
|
||||
'__run_num__': 1,
|
||||
'comment': 'File {0} updated'.format(test_file),
|
||||
'diff': 'Replace binary file with text file'
|
||||
'diff': '--- \n+++ \n@@ -1 +1,3\n+{0}\n {1}\n+{2}\n'.format(
|
||||
korean_utf8_2, korean_utf8_1, korean_utf8_3),
|
||||
},
|
||||
('file_|-some-utf8-file-exists_|-{0}'
|
||||
'_|-exists').format(test_file): {
|
||||
|
Loading…
Reference in New Issue
Block a user