diff options
author | Pearu Peterson <pearu.peterson@gmail.com> | 2006-04-19 18:42:23 +0000 |
---|---|---|
committer | Pearu Peterson <pearu.peterson@gmail.com> | 2006-04-19 18:42:23 +0000 |
commit | 7ac6e2005976d03e25e723bacd59f27ad87e86dc (patch) | |
tree | 81f50e1fd98dc3e2a5b24b38e166c714422a511c /numpy/distutils/misc_util.py | |
parent | 696853112da4073d64bbf69619e889e0d2f9f5d5 (diff) | |
download | numpy-7ac6e2005976d03e25e723bacd59f27ad87e86dc.tar.gz |
Fix bug in resolving target_dirs for data_dir patterns containing extra slashes.
Diffstat (limited to 'numpy/distutils/misc_util.py')
-rw-r--r-- | numpy/distutils/misc_util.py | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/numpy/distutils/misc_util.py b/numpy/distutils/misc_util.py index f2f4f6b5d..4057eff71 100644 --- a/numpy/distutils/misc_util.py +++ b/numpy/distutils/misc_util.py @@ -776,12 +776,21 @@ class Configuration(object): return self.add_data_dir((data_path, data_path)) paths = self.paths(data_path, include_non_existing=False) if is_glob_pattern(data_path): - pp = self.path_in_package.split(os.sep) if is_glob_pattern(d): - pattern_list = pp + d.split(os.sep) + pattern_list = d.split(os.sep) pattern_list.reverse() + # /a/*//b/ -> /a/*/b + rl = range(len(pattern_list)-1); rl.reverse() + for i in rl: + if not pattern_list[i]: + del pattern_list[i] + # for path in paths: - path_list = path.split(os.sep) + if not os.path.isdir(path): + print 'Not a directory, skipping',path + continue + rpath = rel_path(path, self.local_path) + path_list = rpath.split(os.sep) path_list.reverse() target_list = [] i = 0 @@ -792,14 +801,13 @@ class Configuration(object): % (d, path) target_list.append(path_list[i]) else: - assert s==path_list[i],`s,path_list[i],data_path,d` + assert s==path_list[i],`s,path_list[i],data_path,d,path,rpath` target_list.append(s) i += 1 if path_list[i:]: self.warn('mismatch of pattern_list=%s and path_list=%s'\ % (pattern_list,path_list)) target_list.reverse() - target_list = target_list[len(pp):] self.add_data_dir((os.sep.join(target_list),path)) else: for path in paths: |