[Python-checkins] distutils2: fixed filelist initialization in sdist
tarek.ziade
python-checkins at python.org
Sun May 30 00:33:51 CEST 2010
tarek.ziade pushed 7394724dba67 to distutils2:
http://hg.python.org/distutils2/rev/7394724dba67
changeset: 174:7394724dba67
tag: tip
user: Tarek Ziade <tarek at ziade.org>
date: Sun May 30 00:33:40 2010 +0200
summary: fixed filelist initialization in sdist
files: src/distutils2/command/sdist.py, src/distutils2/manifest.py, src/distutils2/tests/test_sdist.py
diff --git a/src/distutils2/command/sdist.py b/src/distutils2/command/sdist.py
--- a/src/distutils2/command/sdist.py
+++ b/src/distutils2/command/sdist.py
@@ -121,6 +121,7 @@
self.metadata_check = 1
self.owner = None
self.group = None
+ self.filelist = None
def _check_archive_formats(self, formats):
supported_formats = [name for name, desc in get_archive_formats()]
@@ -152,10 +153,14 @@
if self.dist_dir is None:
self.dist_dir = "dist"
+ if self.filelist is None:
+ self.filelist = Manifest()
+
+
def run(self):
# 'filelist' contains the list of files that will make up the
# manifest
- self.filelist = Manifest()
+ self.filelist.clear()
# Run sub commands
for cmd_name in self.get_sub_commands():
@@ -200,7 +205,7 @@
if self.use_defaults:
self.add_defaults()
if template_exists:
- self.read_template()
+ self.filelist.read_template(self.template)
if self.prune:
self.prune_file_list()
diff --git a/src/distutils2/manifest.py b/src/distutils2/manifest.py
--- a/src/distutils2/manifest.py
+++ b/src/distutils2/manifest.py
@@ -54,6 +54,12 @@
for sort_tuple in sortable_files:
self.files.append(os.path.join(*sort_tuple))
+ def clear(self):
+ """Clear all collected files."""
+ self.files = []
+ if self.allfiles is not None:
+ self.allfiles = []
+
def remove_duplicates(self):
# Assumes list has been sorted!
for i in range(len(self.files) - 1, 0, -1):
diff --git a/src/distutils2/tests/test_sdist.py b/src/distutils2/tests/test_sdist.py
--- a/src/distutils2/tests/test_sdist.py
+++ b/src/distutils2/tests/test_sdist.py
@@ -343,6 +343,19 @@
finally:
archive.close()
+ def test_get_file_list(self):
+ dist, cmd = self.get_cmd()
+ cmd.finalize_options()
+ cmd.template = os.path.join(self.tmp_dir, 'MANIFEST.in')
+ f = open(cmd.template, 'w')
+ try:
+ f.write('include MANIFEST.in\n')
+ finally:
+ f.close()
+
+ cmd.get_file_list()
+ self.assertIn('MANIFEST.in', cmd.filelist.files)
+
def test_suite():
return unittest2.makeSuite(SDistTestCase)
--
Repository URL: http://hg.python.org/distutils2
More information about the Python-checkins
mailing list