From dbdef26b5b1968b49b49966da045799b8553ebe1 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Wed, 5 Feb 2014 19:04:23 -0500 Subject: Rename the path attribute to entries_path for clarity. Added a docstring. Refactored 'find' method for flatness. --HG-- extra : source : 686317ef97be5076001b23e61f552dc1e85e29c8 --- setuptools/command/sdist.py | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) (limited to 'setuptools/command') diff --git a/setuptools/command/sdist.py b/setuptools/command/sdist.py index 04cbccdf..76e1c5f1 100755 --- a/setuptools/command/sdist.py +++ b/setuptools/command/sdist.py @@ -21,11 +21,15 @@ def walk_revctrl(dirname=''): #TODO will need test case class re_finder(object): + """ + Finder that locates files based on entries in a file matched by a + regular expression. + """ def __init__(self, path, pattern, postproc=lambda x: x): self.pattern = pattern self.postproc = postproc - self.path = convert_path(path) + self.entries_path = convert_path(path) def _finder(self, dirname, filename): f = open(filename,'rU') @@ -38,18 +42,20 @@ class re_finder(object): # postproc was formerly used when the svn finder # was an re_finder for calling unescape path = self.postproc(path) - yield svn_utils.joinpath(dirname,path) + yield svn_utils.joinpath(dirname, path) def find(self, dirname=''): - path = svn_utils.joinpath(dirname, self.path) - - if os.path.isfile(path): - for path in self._finder(dirname,path): - if os.path.isfile(path): - yield path - elif os.path.isdir(path): - for item in self.find(path): - yield item + path = svn_utils.joinpath(dirname, self.entries_path) + + if not os.path.isfile(path): + # entries file doesn't exist + return + for path in self._finder(dirname,path): + if os.path.isfile(path): + yield path + elif os.path.isdir(path): + for item in self.find(path): + yield item __call__ = find -- cgit v1.2.1