#!/bin/bash
##
## Performs various operations on a zblock. Additionally, it can also pack one
## from given information, which can be added on top of your zchain.
##
## Usage:
##    -h, --help                             Prints this help message
##    -s, --show [zblock]                    Shows the zblock provided. In case
##                                           of no zblock, the latest of your
##                                           zchain is shown.
##    -x, --gen-html <zblock>                Generates an HTML document for a
##                                           given zblock
##    -c, --cache                            Caches a zblock
##    -p, --pack <module/action> <hash>      Packs a zblock
##    -r, --repack <zblock> <previous>       Repacks a zblock at previous
##    -a, --announce                         Announces a zblock
##
fullprogrampath="$(realpath $0)"
PROGRAM=$(basename $0)
descriptionString="Various zblock operations"

# At least these
source $AK_LIBDIR/_ak_log
source $AK_LIBDIR/_ak_script
source $AK_LIBDIR/_ak_zblock

# Flags to run
if [ ! -z $1 ]; then
    case $1 in
        -h | --help) _ak_usage; exit;;
        -s | --show)
            _ak_zblock_show $2
            exit
            ;;
        -x | --gen-html)
            _ak_zblock_gen_html $2
            exit
            ;;
        -c | --cache)
            _ak_zblock_cache $2
            exit
            ;;
        -p | --pack)
            _ak_zblock_pack $2 $3
            exit
            ;;
        -r | --repack)
            _ak_zblock_repack $2 $3
            exit
            ;;
        -a | --announce)
            _ak_zblock_announce $2
            exit
            ;;
        * ) _ak_usage;;
    esac
else _ak_usage
fi