[Python-checkins] r46791 - in sandbox/branches/setuptools-0.6: setuptools.txt setuptools/command/build_py.py
phillip.eby
python-checkins at python.org
Fri Jun 9 20:26:46 CEST 2006
Author: phillip.eby
Date: Fri Jun 9 20:26:45 2006
New Revision: 46791
Modified:
sandbox/branches/setuptools-0.6/setuptools.txt
sandbox/branches/setuptools-0.6/setuptools/command/build_py.py
Log:
Allow .py files found by the include_package_data option to be
automatically included. Remove duplicate data file matches if both
include_package_data and package_data are used to refer to the same
files.
(merge from trunk)
Modified: sandbox/branches/setuptools-0.6/setuptools.txt
==============================================================================
--- sandbox/branches/setuptools-0.6/setuptools.txt (original)
+++ sandbox/branches/setuptools-0.6/setuptools.txt Fri Jun 9 20:26:45 2006
@@ -2501,6 +2501,11 @@
0.6b3
* Fix bdist_egg not including files in .egg-info subdirectories.
+ * Allow .py files found by the include_package_data option to be
+ automatically included. Remove duplicate data file matches if both
+ include_package_data and package_data are used to refer to the same
+ files.
+
0.6b1
* Strip ``module`` from the end of compiled extension modules when computing
the name of a ``.py`` loader/wrapper. (Python's import machinery ignores
Modified: sandbox/branches/setuptools-0.6/setuptools/command/build_py.py
==============================================================================
--- sandbox/branches/setuptools-0.6/setuptools/command/build_py.py (original)
+++ sandbox/branches/setuptools-0.6/setuptools/command/build_py.py Fri Jun 9 20:26:45 2006
@@ -92,18 +92,18 @@
self.run_command('egg_info')
ei_cmd = self.get_finalized_command('egg_info')
for path in ei_cmd.filelist.files:
- if path.endswith('.py'):
- continue
d,f = os.path.split(assert_relative(path))
prev = None
+ oldf = f
while d and d!=prev and d not in src_dirs:
prev = d
d, df = os.path.split(d)
f = os.path.join(df, f)
if d in src_dirs:
+ if path.endswith('.py') and f==oldf:
+ continue # it's a module, not data
mf.setdefault(src_dirs[d],[]).append(path)
-
def get_data_files(self): pass # kludge 2.4 for lazy computation
if sys.version<"2.4": # Python 2.4 already has this code
@@ -167,14 +167,18 @@
globs = (self.exclude_package_data.get('', [])
+ self.exclude_package_data.get(package, []))
bad = []
- for pattern in globs:
+ for pattern in globs:
bad.extend(
fnmatch.filter(
files, os.path.join(src_dir, convert_path(pattern))
)
)
bad = dict.fromkeys(bad)
- return [f for f in files if f not in bad]
+ seen = {}
+ return [
+ f for f in files if f not in bad
+ and f not in seen and seen.setdefault(f,1) # ditch dupes
+ ]
def assert_relative(path):
@@ -199,7 +203,3 @@
-
-
-
-
More information about the Python-checkins
mailing list