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