import sys import json def haskell(): file_ = open("data.json", "r") data = json.load(file_) file_.close() for entry in data: for translation in entry["translations"]: # print(translation) try: if (len(translation["words"]) > 0): sys.stdout.write("translation %s \"%s\" = [%s]\n" % (entry["id"], translation["language"], ",".join(map(lambda x: "\"%s\"" % x["stem"], translation["words"])))) except TypeError as error: # sys.stderr.write("%s\n" % str(entry)) sys.stderr.write("%s\n" % str(error)) def newjson(): file_ = open("data.json", "r") data = json.load(file_) file_.close() languages = ["fs","en","af","nl","yi","de","da","nb","sv","nn","is","pg"] sys.stdout.write("[\n") data = filter(lambda entry: len(list(filter(lambda translation: translation["language"] == "fs", entry["translations"]))[0]["words"]) == 0, data) # data = sorted(data, key = lambda entry: list(filter(lambda translation: translation["language"] == "fs", entry["translations"]))[0]["words"][0]["stem"]) for entry in data: sys.stdout.write("\t{\n") sys.stdout.write("\t\t\"description\": %s, \"type\": \"%s\", \"tags\": [],\n" % ("null" if entry["description"] is None else ("\"%s\"" % entry["description"]), entry["type"])) print( "\t\t\"translations\": {%s}\n" % ", ".join( map( lambda language: "\"%s\": [%s]" % ( language, ",".join( map( lambda word: "\"%s\"" % word["stem"], list( filter( lambda translation: translation["language"] == language, entry["translations"] ) )[0]["words"] ) ) ), languages ) ) ) sys.stdout.write("\t},\n") sys.stdout.write("]\n") newjson()