Mercurial > hg > PaInt
comparison paint/info.py @ 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 |
comparison
equal
deleted
inserted
replaced
| 67:8f39ba642531 | 68:d001017d5870 |
|---|---|
| 35 | 35 |
| 36 def __call__(self): | 36 def __call__(self): |
| 37 """returns dictionary of package info""" | 37 """returns dictionary of package info""" |
| 38 raise NotImplementedError("abstract base class") | 38 raise NotImplementedError("abstract base class") |
| 39 | 39 |
| 40 def dependencies(self): | |
| 41 raise NotImplementedError("abstract base class") | |
| 40 | 42 |
| 41 class SetupOverridePackageInfo(PackageInfo): | 43 class SetupOverridePackageInfo(PackageInfo): |
| 42 """ | 44 """ |
| 43 gather setup.py information by overriding the function | 45 gather setup.py information by overriding the function |
| 44 """ | 46 """ |
| 87 info_dict[key] = value | 89 info_dict[key] = value |
| 88 | 90 |
| 89 # return the information | 91 # return the information |
| 90 return info_dict | 92 return info_dict |
| 91 | 93 |
| 94 def dependencies(self): | |
| 95 """return the dependencies of the package""" | |
| 96 | |
| 97 # TODO: should probably have a more detailed dict: | |
| 98 # {'mozinfo': {'version': '>= 0.2', | |
| 99 # 'url': 'http://something.com/'}} | |
| 100 | |
| 101 # get the egg_info directory | |
| 102 egg_info = self._egg_info() | |
| 103 | |
| 104 # read the dependencies | |
| 105 requires = os.path.join(egg_info, 'requires.txt') | |
| 106 if os.path.exists(requires): | |
| 107 dependencies = [i.strip() for i in file(requires).readlines() if i.strip()] | |
| 108 else: | |
| 109 dependencies = [] | |
| 110 dependencies = dict([(i, None) for i in dependencies]) | |
| 111 | |
| 112 # read the dependency links | |
| 113 dependency_links = os.path.join(egg_info, 'dependency_links.txt') | |
| 114 if os.path.exists(dependency_links): | |
| 115 links = [i.strip() for i in file(dependency_links).readlines() if i.strip()] | |
| 116 for link in links: | |
| 117 # XXX pretty ghetto | |
| 118 assert '#egg=' in link | |
| 119 url, dep = link.split('#egg=', 1) | |
| 120 if dep in dependencies: | |
| 121 dependencies[dep] = link | |
| 122 | |
| 123 return dependencies | |
| 124 | |
| 125 | |
| 92 def _egg_info(self): | 126 def _egg_info(self): |
| 93 """build the egg_info directory""" | 127 """build the egg_info directory""" |
| 94 | 128 |
| 95 # cached result | 129 # cached result |
| 96 if getattr(self, '_egg_info_path', None): | 130 if getattr(self, '_egg_info_path', None): |
