aboutsummaryrefslogtreecommitdiff
path: root/bin/ak-cli
diff options
context:
space:
mode:
authorkaotisk <kaotisk@arching-kaos.org>2024-02-13 19:17:19 +0200
committerkaotisk <kaotisk@arching-kaos.org>2024-02-13 19:17:19 +0200
commitf93ebfadb3e0d89e668784cd781ad33c62e01065 (patch)
treee90f36546bf51cf2e85b2e5a2188664b02539f73 /bin/ak-cli
parent779bea336e3c30f89ab3850c625b39636c41cbd0 (diff)
downloadarching-kaos-tools-f93ebfadb3e0d89e668784cd781ad33c62e01065.tar.gz
arching-kaos-tools-f93ebfadb3e0d89e668784cd781ad33c62e01065.tar.bz2
arching-kaos-tools-f93ebfadb3e0d89e668784cd781ad33c62e01065.zip
off to make a cli tool
Diffstat (limited to 'bin/ak-cli')
-rwxr-xr-xbin/ak-cli493
1 files changed, 493 insertions, 0 deletions
diff --git a/bin/ak-cli b/bin/ak-cli
new file mode 100755
index 0000000..cf90f15
--- /dev/null
+++ b/bin/ak-cli
@@ -0,0 +1,493 @@
+#!/bin/bash
+#set -xe
+program=`basename $0`
+tempdir=`mktemp -d`
+curdir=`pwd`
+launch_timestamp=`date -u +%s`
+description_text="Arching Kaos command line interface"
+
+new_line(){
+ printf '\n'
+}
+
+# logit "ERROR" "Message"
+# logit "WARNING" "Message"
+# logit "INFO" "Message"
+logit(){
+ ak-logthis "<$program>" "[$1]" "$2"
+}
+
+# exit_program 0 'Clean exit'
+# exit_program 1 'Dirty exit... saves tmpdir in archive' 'save_log'
+exit_program(){
+ cd $curdir
+ if [ "$3" == "save_log" ]
+ then
+ tar cvfz $curdir/$(basename $tempdir)-$launch_timestamp.tgz $tempdir
+ fi
+ rm -rf $tempdir
+ logit "EXIT" "$2"
+ exit $1
+}
+
+description(){
+ full_title="$(printf '%s - %s' "$program" "$description_text")"
+ delimiter_count=`echo -n $full_title | wc -c`
+ printf '%s' "$full_title"
+ new_line
+ while [ $delimiter_count -gt 0 ]
+ do
+ printf '='
+ delimiter_count=$(($delimiter_count-1))
+ done
+ new_line
+}
+#description(){
+# printf '%s - \n' "$program"
+# printf '===========================================\n' "$program"
+#}
+
+help_all(){
+ description
+
+ help_config
+ new_line
+
+ help_log
+ new_line
+
+ help_follow
+ new_line
+
+ printf ' modules Various modules'
+ help_modules
+ new_line
+
+ printf ' ipfs IPFS wrapper tools'
+ help_ipfs
+ new_line
+
+ printf ' network Networking tools'
+ help_network
+ new_line
+
+ printf ' utils Utilities for maintainance'
+ help_utils
+ new_line
+
+ printf ' zblock zblock focused tools'
+ help_zblock
+ new_line
+
+ printf ' sblock sblock and schain tools'
+ help_sblock
+ new_line
+
+ printf ' zchain zchain tools'
+ help_zchain
+ new_line
+
+ printf ' uncategorized'
+ printf '\t\tother tools not fitting in other categories\n'
+ help_uncatecorized
+}
+
+help_config(){
+ cat /home/kaotisk/projects/arching-kaos-tools/txts/manuals/config_subcommands
+}
+
+_config(){
+ if [ ! -z "$1" ]
+ then
+ case "$1" in
+ show)
+ ak-config show | jq
+ ;;
+ get-published)
+ ak-config get-published | jq
+ ;;
+ publish)
+ ak-config publish
+ ;;
+ get-akid)
+ ak-akid-get-ipfs-hash
+ ;;
+ get-akid-ipns)
+ ak-akid-get-ipns-key
+ ;;
+ *)
+ help_config
+ ;;
+ esac
+ else
+ help_config
+ fi
+}
+
+help_log(){
+ cat /home/kaotisk/projects/arching-kaos-tools/txts/manuals/log_subcommands
+}
+
+_log(){
+ if [ ! -z "$1" ]
+ then
+ case "$1" in
+ tail)
+ ak-logfollow
+ exit_program 0 "$subcommand $1 command finished";
+ ;;
+ write)
+ ak-logthis "$2" "$3" "$4"
+ exit_program 0 "$subcommand $1 command finished";
+ ;;
+ rotate)
+ ak-logrotate
+ exit_program 0 "$subcommand $1 command finished";
+ ;;
+ cat)
+ cat $AK_WORKDIR/akd.log $AK_WORKDIR/akd.err $AK_WORKDIR/logs
+ exit_program 0 "$subcommand $1 command finished";
+ ;;
+ *)
+ help_log
+ exit_program 0 "$subcommand $1 command finished";
+ esac
+ else
+ help_log
+ exit_program 0 "$subcommand $1 command finished";
+ fi
+}
+
+help_follow(){
+ cat /home/kaotisk/projects/arching-kaos-tools/txts/manuals/follow_subcommands
+}
+
+_follow(){
+ if [ ! -z "$1" ]
+ then
+ case "$1" in
+ add)
+ ak-follow "$2"
+ ;;
+ list)
+ ak-following
+ ;;
+ remove)
+ ak-unfollow "$2"
+ ;;
+ *)
+ help_follow
+ ;;
+ esac
+ else
+ help_follow
+ fi
+}
+
+help_modules(){
+ printf '
+ ak-articles
+ '
+ printf '
+ ak-categories
+ '
+ printf '
+ ak-comments
+ '
+ printf '
+ ak-files
+ '
+ printf '
+ ak-sm-files
+ '
+ printf '
+ ak-folders
+ '
+ printf '
+ ak-mixtapes
+ '
+ printf '
+ ak-news
+ '
+ printf '
+ ak-profile
+ '
+ printf '
+ ak-reference
+ '
+ printf '
+ ak-repositories
+ '
+ printf '
+ ak-roadmap
+ '
+ printf '
+ ak-todos
+ '
+ printf '
+ ak-transactions
+ '
+}
+
+help_zblock(){
+ printf '
+ ak-pack_z_block
+ '
+ printf '
+ ak-zblock-cache
+ '
+ printf '
+ ak-zblock-manipulator
+ '
+ printf '
+ ak-zblock-show
+ '
+}
+
+help_ipfs(){
+ printf '
+ ak-ipfs-add
+ '
+ printf '
+ ak-ipfs-block-stat
+ '
+ printf '
+ ak-ipfs-cat
+ '
+ printf '
+ ak-ipfs-check
+ '
+ printf '
+ ak-ipfs-files-cp
+ '
+ printf '
+ ak-ipfs-files-ls
+ '
+ printf '
+ ak-ipfs-files-mkdir
+ '
+ printf '
+ ak-ipfs-files-mv
+ '
+ printf '
+ ak-ipfs-files-rm
+ '
+ printf '
+ ak-ipfs-files-stat
+ '
+ printf '
+ ak-ipfs-get
+ '
+ printf '
+ ak-ipfs-get-peers
+ '
+ printf '
+ ak-ipfs-key-gen
+ '
+ printf '
+ ak-ipfs-key-list
+ '
+ printf '
+ ak-ipfs-key-list-full
+ '
+ printf '
+ ak-ipfs-name-publish
+ '
+ printf '
+ ak-ipfs-name-resolve
+ '
+ printf '
+ ak-ipfs-scanner
+ '
+ printf '
+ ak-ipfs-starter
+ '
+ printf '
+ ak-ipfs-swarm-peers
+ '
+ printf '
+ ak-ipns-resolve
+ '
+}
+
+help_network(){
+ printf '
+ ak-network
+ '
+ printf '
+ ak-get-peers-cjdns
+ '
+ printf '
+ ak-get-peers-ipfs
+ '
+ printf '
+ ak-get-peers-stellar
+ '
+ printf '
+ ak-cjdns-scanner
+ '
+ printf '
+ ak-stellar-get-participants
+ '
+}
+
+help_utils(){
+ printf '
+ ak-calculate-size
+ '
+ printf '
+ ak-data-expand
+ '
+ printf '
+ ak-get-gpg
+ '
+ printf '
+ ak-get-zlatest
+ '
+}
+
+help_uncatecorized(){
+ printf '
+ ak2html
+ '
+ printf '
+ ak-clean
+ '
+ printf '
+ ak-get-chain-minified
+ '
+ printf '
+ ak-extract-cids
+ '
+ printf '
+ ak-get-ipfs-hashes-from-my-zchain
+ '
+ printf '
+ ak-get-only-ipfs-key-values-from-our-or-a-zchain
+ '
+ printf '
+ ak-get-only-ipfs-key-values-from-our-zchain
+ '
+ printf '
+ ak-json2bash
+ '
+ printf '
+ ak-mempool
+ '
+ printf '
+ ak-sm-filejoiner
+ '
+ printf '
+ ak-sm-filesplitter
+ '
+ printf '
+ ak-sm-merkle-tree
+ '
+ printf '
+ ak-sm-merkle-tree-to-file
+ '
+ printf '
+ ak-startup
+ '
+ printf '
+ ak-tempassin
+ '
+}
+
+help_sblock(){
+ printf '
+ ak-find-latest-mined-sblock
+ '
+ printf '
+ ak-miner-script
+ '
+ printf '
+ ak-show_sblock
+ '
+}
+
+help_zchain(){
+ printf '
+ ak-enter
+ '
+ printf '
+ ak-zchain-chk
+ '
+ printf '
+ ak-zchain-rebase
+ '
+ printf '
+ ak-zchain-reset
+ '
+}
+
+# Change directory to the temporary directory
+cd $tempdir
+
+if [ -z "$1" ]
+then
+ help_all
+else
+ subcommand="$1"
+ case "$1" in
+ config)
+ _config "$2"
+ exit_program 0 "$1 command finished";
+ ;;
+ log)
+ _log "$2" "$3" "$4" "$5"
+ exit_program 0 "$1 command finished";
+ ;;
+ follow)
+ _follow "$2"
+ exit_program 0 "$1 command finished";
+ ;;
+ modules)
+ exit_program 1 "$1 Not implemented";
+ help_modules
+ ;;
+ ipfs)
+ exit_program 1 "$1 Not implemented";
+ _ipfs
+ help_ipfs
+ ;;
+ network)
+ exit_program 1 "$1 Not implemented";
+ _network
+ help_network
+ ;;
+ utils)
+ exit_program 1 "$1 Not implemented";
+ _utils
+ help_utils
+ ;;
+ zblock)
+ exit_program 1 "$1 Not implemented";
+ _zblock
+ help_zblock
+ ;;
+ sblock)
+ exit_program 1 "$1 Not implemented";
+ _sblock
+ help_sblock
+ ;;
+ zchain)
+ exit_program 1 "$1 Not implemented";
+ _zchain
+ help_zchain
+ ;;
+ uncategorized)
+ exit_program 1 "$1 Not implemented";
+ _uncategorized
+ help_uncatecorized
+ ;;
+ *)
+ help_all;
+ exit_program 0 "No command issued";
+ esac
+
+fi
+
+# Successful test: after changing dir the following, variable is not changing
+# echo $curdir
+