HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/env/bin/pripnglsch
#!/home/arjun/projects/env/bin/python3
# pripnglsch
# PNG List Chunks

import png


def list_chunks(out, inp):
    r = png.Reader(file=inp)
    for t, v in r.chunks():
        add = ""
        if len(v) <= 28:
            add = " " + v.hex()
        else:
            add = " " + v[:26].hex() + "..."
        t = t.decode("ascii")
        print("%s %10d%s" % (t, len(v), add), file=out)


def main(argv=None):
    import argparse
    import sys

    parser = argparse.ArgumentParser()
    parser.add_argument(
        "input", nargs="?", default="-", type=png.cli_open, metavar="PNG"
    )
    args = parser.parse_args()
    return list_chunks(sys.stdout, args.input)


if __name__ == "__main__":
    main()