From 1fb1f0e5b2b0f0b61dfe30bf6041cd64f7f44a28 Mon Sep 17 00:00:00 2001 From: kracekumar Date: Tue, 31 Jan 2012 23:01:23 +0530 Subject: [PATCH] Added a func total_downloads to check all possible package name like flask, Flask, FLask etc. When package name = flask, returned download count is 0. The new function will try create all possible package name from flask to FLASK with incremental capitalization of each character --- vaincheese.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/vaincheese.py b/vaincheese.py index 7e01adf..e137c6c 100644 --- a/vaincheese.py +++ b/vaincheese.py @@ -33,17 +33,29 @@ def index(): return jsonify(d) +def total_downloads(package): + count = downloads_total(package) + package = package.swapcase() if package.isupper() else package + while not count: + for pos, value in enumerate(package): + temp_package = package[:pos].swapcase() + package[pos:] + count = downloads_total(temp_package) + if count: + return count + else: + return count + @app.route('/pypi/') @cache.memoize(timeout=6*60*60) def package_stats(package): d = { 'package': package, - 'downloads': downloads_total(package) + 'downloads': total_downloads(package) } return jsonify(d) if __name__ == '__main__': - app.run() \ No newline at end of file + app.run()