Set decoding of path to unicode to raise an exception if non-utf8

Letting it pass would just cause an error later on (no such file found)
so it's better to catch it here and know that we have users dealing with
non-utf8 pathnames than to have to track it down from later on.
pull/14019/head
Toshio Kuratomi 9 years ago
parent 299e42bc28
commit 27bf701260

@ -735,11 +735,11 @@ class Inventory(object):
if group and host is None: if group and host is None:
# load vars in dir/group_vars/name_of_group # load vars in dir/group_vars/name_of_group
base_path = os.path.realpath(os.path.join(to_unicode(basedir), "group_vars/%s" % group.name)) base_path = os.path.realpath(os.path.join(to_unicode(basedir, errors='strict'), "group_vars/%s" % group.name))
results = combine_vars(results, self._variable_manager.add_group_vars_file(base_path, self._loader)) results = combine_vars(results, self._variable_manager.add_group_vars_file(base_path, self._loader))
elif host and group is None: elif host and group is None:
# same for hostvars in dir/host_vars/name_of_host # same for hostvars in dir/host_vars/name_of_host
base_path = os.path.realpath(os.path.join(to_unicode(basedir), "host_vars/%s" % host.name)) base_path = os.path.realpath(os.path.join(to_unicode(basedir, errors='strict'), "host_vars/%s" % host.name))
results = combine_vars(results, self._variable_manager.add_host_vars_file(base_path, self._loader)) results = combine_vars(results, self._variable_manager.add_host_vars_file(base_path, self._loader))
# all done, results is a dictionary of variables for this particular host. # all done, results is a dictionary of variables for this particular host.

Loading…
Cancel
Save