summaryrefslogtreecommitdiff
path: root/numpy/distutils/misc_util.py
diff options
context:
space:
mode:
authorPearu Peterson <pearu.peterson@gmail.com>2006-04-19 18:42:23 +0000
committerPearu Peterson <pearu.peterson@gmail.com>2006-04-19 18:42:23 +0000
commit7ac6e2005976d03e25e723bacd59f27ad87e86dc (patch)
tree81f50e1fd98dc3e2a5b24b38e166c714422a511c /numpy/distutils/misc_util.py
parent696853112da4073d64bbf69619e889e0d2f9f5d5 (diff)
downloadnumpy-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.py18
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: