diff options
Diffstat (limited to 'bin/reproducible_json.py')
-rwxr-xr-x | bin/reproducible_json.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/bin/reproducible_json.py b/bin/reproducible_json.py new file mode 100755 index 00000000..7080b9ea --- /dev/null +++ b/bin/reproducible_json.py @@ -0,0 +1,33 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- +# +# Copyright © 2015 Mattia Rizzolo <mattia@mapreri.org> +# Licensed under GPL-2+ +# +# Depends: python3 +# +# Build the reproducible.json file, to provide a nice datasource + +from reproducible_common import * + +import json + +result = sorted(query_db('SELECT name, version, status FROM source_packages' + + ' WHERE status != ""')) +count = int(query_db('SELECT COUNT(name) FROM source_packages ' + + 'WHERE status != ""')[0][0]) + +log.info('processing ' + str(count) + ' package to create .json output') + +all_pkgs = [] +keys = ['package', 'version', 'status'] +for row in result: + pkg = dict(zip(keys, row)) + pkg['suite'] = 'sid' + all_pkgs.append(pkg) + +with open(REPRODUCIBLE_JSON, 'w') as fd: + json.dump(all_pkgs, fd, indent=4, sort_keys=True) + +log.info(REPRODUCIBLE_URL + '/reproducible.json has been updated.') + |