- ## Code from DistUtils tutorial at http://wiki.python.org/moin/Distutils/Tutorial
- ## Originally borrowed from wxPython's setup and config files
- def opj(self, *args):
- path = os.path.join(*args)
- return os.path.normpath(path)
-
- def find_data_files(self, srcdir, *wildcards, **kw):
- # get a list of all files under the srcdir matching wildcards,
- # returned in a format to be used for install_data
- def walk_helper(arg, dirname, files):
- if '.svn' in dirname:
- return
- names = []
- lst, wildcards = arg
- for wc in wildcards:
- wc_name = self.opj(dirname, wc)
- for f in files:
- filename = self.opj(dirname, f)
-
- if fnmatch.fnmatch(filename, wc_name) and not os.path.isdir(filename):
- names.append(filename)
- if names:
- lst.append( (dirname, names ) )
-
- file_list = []
- recursive = kw.get('recursive', True)
- if recursive:
- os.path.walk(srcdir, walk_helper, (file_list, wildcards))
- else:
- walk_helper((file_list, wildcards),
- srcdir,
- [os.path.basename(f) for f in glob.glob(self.opj(srcdir, '*'))])
- return file_list