changeset 68:d001017d5870

migrate this code to the right place
author Jeff Hammel <jhammel@mozilla.com>
date Fri, 25 Jan 2013 23:43:13 -0800
parents 8f39ba642531
children fea269259222
files paint/info.py paint/package.py
diffstat 2 files changed, 35 insertions(+), 27 deletions(-) [+]
line wrap: on
line diff
--- a/paint/info.py	Fri Jan 25 15:56:26 2013 -0800
+++ b/paint/info.py	Fri Jan 25 23:43:13 2013 -0800
@@ -37,6 +37,8 @@
         """returns dictionary of package info"""
         raise NotImplementedError("abstract base class")
 
+    def dependencies(self):
+        raise NotImplementedError("abstract base class")
 
 class SetupOverridePackageInfo(PackageInfo):
     """
@@ -89,6 +91,38 @@
         # return the information
         return info_dict
 
+    def dependencies(self):
+        """return the dependencies of the package"""
+
+        # TODO: should probably have a more detailed dict:
+        # {'mozinfo': {'version': '>= 0.2',
+        #              'url': 'http://something.com/'}}
+
+        # get the egg_info directory
+        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 = []
+        dependencies = dict([(i, None) for i in dependencies])
+
+        # read the dependency links
+        dependency_links = os.path.join(egg_info, 'dependency_links.txt')
+        if os.path.exists(dependency_links):
+            links = [i.strip() for i in file(dependency_links).readlines() if i.strip()]
+            for link in links:
+                # XXX pretty ghetto
+                assert '#egg=' in link
+                url, dep = link.split('#egg=', 1)
+                if dep in dependencies:
+                    dependencies[dep] = link
+
+        return dependencies
+
+
     def _egg_info(self):
         """build the egg_info directory"""
 
--- a/paint/package.py	Fri Jan 25 15:56:26 2013 -0800
+++ b/paint/package.py	Fri Jan 25 23:43:13 2013 -0800
@@ -132,33 +132,7 @@
         return self.package_info(self._path())()
 
     def dependencies(self):
-        """return the dependencies"""
-        # TODO: should probably have a more detailed dict:
-        # {'mozinfo': {'version': '>= 0.2',
-        #              'url': 'http://something.com/'}}
-        # get the egg_info directory
-        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 = []
-        dependencies = dict([(i, None) for i in dependencies])
-
-        # read the dependency links
-        dependency_links = os.path.join(egg_info, 'dependency_links.txt')
-        if os.path.exists(dependency_links):
-            links = [i.strip() for i in file(dependency_links).readlines() if i.strip()]
-            for link in links:
-                # XXX pretty ghetto
-                assert '#egg=' in link
-                url, dep = link.split('#egg=', 1)
-                if dep in dependencies:
-                    dependencies[dep] = link
-
-        return dependencies
+        return self.package_info(self._path()).dependencies()
 
     def extension(self):
         """filename extension of the package"""