1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
import sys
from distutils.dist import Distribution as OldDistribution
from distutils.errors import DistutilsSetupError
from types import *
class Distribution (OldDistribution):
if sys.version[:3]<'2.2':
# For backward compatibility. Use libraries
# instead of fortran_libraries.
fortran_libraries = None
def return_false(self):
# Used by build_ext.run()
return 0
def check_data_file_list(self):
"""Ensure that the list of data_files (presumably provided as a
command option 'data_files') is valid, i.e. it is a list of
2-tuples, where the tuples are (name, list_of_libraries).
Raise DistutilsSetupError if the structure is invalid anywhere;
just returns otherwise."""
print 'check_data_file_list'
if type(self.data_files) is not ListType:
raise DistutilsSetupError, \
"'data_files' option must be a list of tuples"
for lib in self.data_files:
if type(lib) is not TupleType and len(lib) != 2:
raise DistutilsSetupError, \
"each element of 'data_files' must a 2-tuple"
if type(lib[0]) is not StringType:
raise DistutilsSetupError, \
"first element of each tuple in 'data_files' " + \
"must be a string (the package with the data_file)"
if type(lib[1]) is not ListType:
raise DistutilsSetupError, \
"second element of each tuple in 'data_files' " + \
"must be a list of files."
return
def get_data_files (self):
print 'get_data_files'
self.check_data_file_list()
filenames = []
# Gets data files specified
for ext in self.data_files:
filenames.extend(ext[1])
return filenames
|