packages feed

cpsa-4.4.1: src/lastlabel.py

#!/usr/bin/env python3

# Print the last skeleton label
# John D. Ramsdell -- October 2021

# The input is expected on standard input
# Use cpsapp -j to translate the source file into JSON.
#
# cpsa4pp -j file | ./lastlabel.py

import sys
import json
import cpsajson

def main():
    if len(sys.argv) != 1:      # Ensure no argument is supplied
        print("Print the last skeleton label")
        print("Expects JSON translation of CPSA output on standard input")
        print("cpsa4pp -j file | ./lastlabel.py")
        print()
        print("Usage: " + sys.argv[0])
        sys.exit(1)
    xs = cpsajson.load(sys.stdin)

    label = 0                   # Skeleton number
    for x in xs:
        if x[0] == "defskeleton":
            for item in x:
                if type(item) is list and item[0] == "label":
                    label = item[1]
    print(label)

if __name__ == "__main__":
    main()