summaryrefslogtreecommitdiff
path: root/setuptools/command
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2014-02-05 19:04:23 -0500
committerJason R. Coombs <jaraco@jaraco.com>2014-02-05 19:04:23 -0500
commitebd11a186367d6d8be92aefb41937f968f526846 (patch)
tree44c829935c1fd7effb477a049bba9d0985168013 /setuptools/command
parent4e6ee3cb15727dc68e33b0316048f5638b86ca46 (diff)
downloadpython-setuptools-bitbucket-ebd11a186367d6d8be92aefb41937f968f526846.tar.gz
Rename the path attribute to entries_path for clarity. Added a docstring. Refactored 'find' method for flatness.
Diffstat (limited to 'setuptools/command')
-rwxr-xr-xsetuptools/command/sdist.py28
1 files changed, 17 insertions, 11 deletions
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