From 62e5f9a52de3b2b74bf9947398305a877ec77abb Mon Sep 17 00:00:00 2001 From: Christopher Spinrath <christopher.spinrath@rwth-aachen.de> Date: Sun, 11 Oct 2015 21:26:23 +0200 Subject: [PATCH] scripts: add a simple helper script to read a json package list --- scripts/read_packages.py | 41 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100755 scripts/read_packages.py diff --git a/scripts/read_packages.py b/scripts/read_packages.py new file mode 100755 index 0000000..21e6e22 --- /dev/null +++ b/scripts/read_packages.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python3 + +""" +Simple helper scripts that parses a package list in json format +(as required by linuxparty.py) and prints the relevant information +(as required by lipck) in a simple table format. +Afterwards, this table can be used by lipck and its bash helper +scripts that do not have a build in json parser like python. +""" + +PACKAGES_KEY = "packages" +PACKAGE_NAME_KEY = "pkgname" +PACKAGE_URLS_KEY = "urls" + +import json +import sys +import os + +def packageJsonToSimpleList(filename): + file_handle = open(filename, 'r') + pkginfo = json.load(file_handle) + + for category_name,category in pkginfo.items(): + for pkg in category[PACKAGES_KEY]: + print(pkg[PACKAGE_NAME_KEY],end="") + + if PACKAGE_URLS_KEY in pkg: + for url in pkg[PACKAGE_URLS_KEY]: + print(" {0}".format(url), end="") + + print() + +if __name__ == "__main__": + if len(sys.argv) < 2: + sys.exit("Usage: {0} /path/to/packagelist.json".format(sys.argv[0])) + + filename = sys.argv[1] + if not os.path.exists(filename): + sys.exit("{0}: error: {1} does not exist!".format(sys.argv[0],filename)) + + packageJsonToSimpleList(filename) -- GitLab