allow dataloader to use descriptors (#40627)
also fixed improper uses of str() fixes #40383
This commit is contained in:
parent
3d6828949e
commit
5852df57f4
1 changed files with 3 additions and 4 deletions
|
@ -148,21 +148,20 @@ class DataLoader:
|
|||
:return: Returns a byte string of the file contents
|
||||
'''
|
||||
if not file_name or not isinstance(file_name, (binary_type, text_type)):
|
||||
raise AnsibleParserError("Invalid filename: '%s'" % str(file_name))
|
||||
raise AnsibleParserError("Invalid filename: '%s'" % to_native(file_name))
|
||||
|
||||
b_file_name = to_bytes(self.path_dwim(file_name))
|
||||
# This is what we really want but have to fix unittests to make it pass
|
||||
# if not os.path.exists(b_file_name) or not os.path.isfile(b_file_name):
|
||||
if not self.path_exists(b_file_name) or not self.is_file(b_file_name):
|
||||
if not self.path_exists(b_file_name):
|
||||
raise AnsibleFileNotFound("Unable to retrieve file contents", file_name=file_name)
|
||||
|
||||
try:
|
||||
with open(b_file_name, 'rb') as f:
|
||||
data = f.read()
|
||||
return self._decrypt_if_vault_data(data, b_file_name)
|
||||
|
||||
except (IOError, OSError) as e:
|
||||
raise AnsibleParserError("an error occurred while trying to read the file '%s': %s" % (file_name, str(e)), orig_exc=e)
|
||||
raise AnsibleParserError("an error occurred while trying to read the file '%s': %s" % (file_name, to_native(e)), orig_exc=e)
|
||||
|
||||
def get_basedir(self):
|
||||
''' returns the current basedir '''
|
||||
|
|
Loading…
Reference in a new issue