|
23 | 23 | from sage_bootstrap.tarball import Tarball, FileNotMirroredError
|
24 | 24 | from sage_bootstrap.updater import ChecksumUpdater, PackageUpdater
|
25 | 25 | from sage_bootstrap.creator import PackageCreator
|
26 |
| -from sage_bootstrap.pypi import PyPiVersion, PyPiNotFound |
| 26 | +from sage_bootstrap.pypi import PyPiVersion, PyPiNotFound, PyPiError |
27 | 27 | from sage_bootstrap.fileserver import FileServer
|
28 | 28 | from sage_bootstrap.expand_class import PackageClass
|
29 | 29 |
|
@@ -138,21 +138,24 @@ def update_latest(self, package_name):
|
138 | 138 | log.debug('%s is not a pypi package', package_name)
|
139 | 139 | return
|
140 | 140 | else:
|
141 |
| - pypi.update() |
| 141 | + pypi.update(Package(package_name)) |
142 | 142 |
|
143 |
| - def update_latest_all(self): |
144 |
| - log.debug('Attempting to update all packages') |
| 143 | + def update_latest_cls(self, package_name_or_class): |
145 | 144 | exclude = [
|
146 |
| - 'atlas', 'flint', 'bzip2', 'ecm', 'freetype', 'gap', 'glpk', 'graphs', |
147 |
| - 'iconv', 'patch', 'r', 'configure', 'bliss', 'readline', 'decorator', |
148 |
| - 'igraph', 'rw', 'planarity', 'gambit', |
| 145 | + 'cypari' # Name conflict |
149 | 146 | ]
|
150 |
| - pc = PackageClass(':standard:') |
151 |
| - for package_name in pc.names: |
| 147 | + # Restrict to normal Python packages |
| 148 | + pc = PackageClass(package_name_or_class, has_files=['checksums.ini', 'install-requires.txt']) |
| 149 | + if not pc.names: |
| 150 | + log.warn('nothing to do (does not name a normal Python package)') |
| 151 | + for package_name in sorted(pc.names): |
152 | 152 | if package_name in exclude:
|
153 | 153 | log.debug('skipping %s because of pypi name collision', package_name)
|
154 | 154 | continue
|
155 |
| - self.update_latest(package_name) |
| 155 | + try: |
| 156 | + self.update_latest(package_name) |
| 157 | + except PyPiError as e: |
| 158 | + log.warn('updating %s failed: %s', package_name, e) |
156 | 159 |
|
157 | 160 | def download(self, package_name, allow_upstream=False):
|
158 | 161 | """
|
|
0 commit comments