# HG changeset patch # User Jeff Hammel # Date 1330127431 28800 # Node ID 6d27c2136163a74c49df2eafd7e83333499c6224 # Parent 0dd1f8f83be2729fa59049c10310026cf4dd8dfa a decent structure; need to reuse more diff -r 0dd1f8f83be2 -r 6d27c2136163 paint/package.py --- a/paint/package.py Fri Feb 24 15:39:42 2012 -0800 +++ b/paint/package.py Fri Feb 24 15:50:31 2012 -0800 @@ -84,10 +84,6 @@ # return cached copy return self._egg_info - directory = self.path - - def info(self): - """return info dictionary for package""" directory = self.path() assert os.path.exists(os.path.join(path, 'setup.py')) @@ -101,12 +97,15 @@ egg_info = os.path.join(directory, egg_info[0]) assert os.path.isdir(egg_info), "%s is not a directory" % egg_info - # read the dependencies - requires = os.path.join(egg_info, 'requires.txt') - if os.path.exists(requires): - dependencies = [i.strip() for i in file(requires).readlines() if i.strip()] - else: - dependencies = [] + # cache it + self._egg_info = egg_info + return self._egg_info + + def info(self): + """return info dictionary for package""" + # could use pkginfo + + egg_info = self.egg_info() # read the package information pkg_info = os.path.join(egg_info, 'PKG-INFO') @@ -122,4 +121,14 @@ return info_dict['Name'], dependencies def dependencies(self): - info = self.info() + """return the dependencies""" + + egg_info = self.egg_info() + + # read the dependencies + requires = os.path.join(egg_info, 'requires.txt') + if os.path.exists(requires): + dependencies = [i.strip() for i in file(requires).readlines() if i.strip()] + else: + dependencies = [] +