Commit 681c04f6 authored by Tarek Ziadé's avatar Tarek Ziadé

#2279 added the plain path case for data_files

parent 25e6f089
...@@ -14,7 +14,7 @@ from distutils.text_file import TextFile ...@@ -14,7 +14,7 @@ from distutils.text_file import TextFile
from distutils.errors import * from distutils.errors import *
from distutils.filelist import FileList from distutils.filelist import FileList
from distutils import log from distutils import log
from distutils.util import convert_path
def show_formats (): def show_formats ():
"""Print all possible values for the 'formats' option (used by """Print all possible values for the 'formats' option (used by
...@@ -311,9 +311,17 @@ class sdist (Command): ...@@ -311,9 +311,17 @@ class sdist (Command):
# getting distribution.data_files # getting distribution.data_files
if self.distribution.has_data_files(): if self.distribution.has_data_files():
for dirname, filenames in self.distribution.data_files: for item in self.distribution.data_files:
for filename in filenames: if isinstance(item, str): # plain file
self.filelist.append(os.path.join(dirname, filename)) item = convert_path(item)
if os.path.isfile(item):
self.filelist.append(item)
else: # a (dirname, filenames) tuple
dirname, filenames = item
for f in filenames:
f = convert_path(os.path.join(dirname, f))
if os.path.isfile(f):
self.filelist.append(f)
if self.distribution.has_ext_modules(): if self.distribution.has_ext_modules():
build_ext = self.get_finalized_command('build_ext') build_ext = self.get_finalized_command('build_ext')
......
...@@ -26,6 +26,8 @@ README ...@@ -26,6 +26,8 @@ README
setup.py setup.py
data%(sep)sdata.dt data%(sep)sdata.dt
scripts%(sep)sscript.py scripts%(sep)sscript.py
some%(sep)sfile.txt
some%(sep)sother_file.txt
somecode%(sep)s__init__.py somecode%(sep)s__init__.py
somecode%(sep)sdoc.dat somecode%(sep)sdoc.dat
somecode%(sep)sdoc.txt somecode%(sep)sdoc.txt
...@@ -167,7 +169,14 @@ class sdistTestCase(support.LoggingSilencer, PyPIRCCommandTestCase): ...@@ -167,7 +169,14 @@ class sdistTestCase(support.LoggingSilencer, PyPIRCCommandTestCase):
data_dir = join(self.tmp_dir, 'data') data_dir = join(self.tmp_dir, 'data')
os.mkdir(data_dir) os.mkdir(data_dir)
self.write_file((data_dir, 'data.dt'), '#') self.write_file((data_dir, 'data.dt'), '#')
dist.data_files = [('data', ['data.dt'])] some_dir = join(self.tmp_dir, 'some')
os.mkdir(some_dir)
self.write_file((some_dir, 'file.txt'), '#')
self.write_file((some_dir, 'other_file.txt'), '#')
dist.data_files = [('data', ['data.dt', 'notexisting']),
'some/file.txt',
'some/other_file.txt']
# adding a script # adding a script
script_dir = join(self.tmp_dir, 'scripts') script_dir = join(self.tmp_dir, 'scripts')
...@@ -175,7 +184,6 @@ class sdistTestCase(support.LoggingSilencer, PyPIRCCommandTestCase): ...@@ -175,7 +184,6 @@ class sdistTestCase(support.LoggingSilencer, PyPIRCCommandTestCase):
self.write_file((script_dir, 'script.py'), '#') self.write_file((script_dir, 'script.py'), '#')
dist.scripts = [join('scripts', 'script.py')] dist.scripts = [join('scripts', 'script.py')]
cmd.formats = ['zip'] cmd.formats = ['zip']
cmd.use_defaults = True cmd.use_defaults = True
...@@ -194,7 +202,7 @@ class sdistTestCase(support.LoggingSilencer, PyPIRCCommandTestCase): ...@@ -194,7 +202,7 @@ class sdistTestCase(support.LoggingSilencer, PyPIRCCommandTestCase):
zip_file.close() zip_file.close()
# making sure everything was added # making sure everything was added
self.assertEquals(len(content), 8) self.assertEquals(len(content), 10)
# checking the MANIFEST # checking the MANIFEST
manifest = open(join(self.tmp_dir, 'MANIFEST')).read() manifest = open(join(self.tmp_dir, 'MANIFEST')).read()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment