[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

AltStyle によって変換されたページ (->オリジナル) /