diff options
Diffstat (limited to 'baserockimport/exts/importer_python_common.py')
-rw-r--r-- | baserockimport/exts/importer_python_common.py | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/baserockimport/exts/importer_python_common.py b/baserockimport/exts/importer_python_common.py index b2e7c51..eedc81b 100644 --- a/baserockimport/exts/importer_python_common.py +++ b/baserockimport/exts/importer_python_common.py @@ -23,6 +23,15 @@ from importer_base import ImportExtension PYPI_URL = 'http://pypi.python.org/pypi' +def get_releases(client, package_name): + try: + # True here just means show hidden releases + releases = client.package_releases(package_name, True) + except Exception as e: + error("Couldn't fetch release data:", e) + + return releases + def warn(*args, **kwargs): print('%s:' % sys.argv[0], *args, file=sys.stderr, **kwargs) @@ -60,10 +69,11 @@ def name_or_closest(client, package_name): # # so look for both the hyphenated version that is passed to this function # and the underscored version. + package_name = package_name.replace('_', '-') underscored_package_name = package_name.replace('-', '_') for name in [package_name, underscored_package_name]: - results = client.package_releases(name) + results = get_releases(client, name) if len(results) > 0: logging.debug('Found package %s' % name) @@ -88,12 +98,4 @@ def name_or_closest(client, package_name): return results[0]['name'] if len(results) > 0 else None -# We subclass the ImportExtension to setup the logger, -# so that we can send logs to the import tool's log -class PythonExtension(ImportExtension): - def __init__(self): - super(PythonExtension, self).__init__() - def process_args(self, _): - import __main__ - __main__.main() |