diff options
author | kaotisk <kaotisk@arching-kaos.org> | 2024-06-04 18:07:39 +0300 |
---|---|---|
committer | kaotisk <kaotisk@arching-kaos.org> | 2024-06-04 18:07:39 +0300 |
commit | 0d1777251dea7d35cd774518959b4377673e1cab (patch) | |
tree | b3d7a15725641c9e3d1d7b45150135e1f8ce9a71 /modules/ak-files | |
parent | 684dd3e038ae90f0fd1f53211ce4d30141e35bf2 (diff) | |
download | arching-kaos-tools-0d1777251dea7d35cd774518959b4377673e1cab.tar.gz arching-kaos-tools-0d1777251dea7d35cd774518959b4377673e1cab.tar.bz2 arching-kaos-tools-0d1777251dea7d35cd774518959b4377673e1cab.zip |
Refactoring, modules directory introduced
- All modules are now stored separately from the rest of the bin/
- You can run them now with `ak -m <module> <args>`
- Files affected:
* bin/ak-articles -> modules/ak-articles
* bin/ak-categories -> modules/ak-categories
* bin/ak-comments -> modules/ak-comments
* bin/ak-files -> modules/ak-files
* bin/ak-folders -> modules/ak-folders
* bin/ak-mixtapes -> modules/ak-mixtapes
* bin/ak-news -> modules/ak-news
* bin/ak-reference -> modules/ak-reference
* bin/ak-repositories -> modules/ak-repositories
* bin/ak-roadmap -> modules/ak-roadmap
* bin/ak-todos -> modules/ak-todos
Diffstat (limited to 'modules/ak-files')
-rwxr-xr-x | modules/ak-files | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/modules/ak-files b/modules/ak-files new file mode 100755 index 0000000..73c8219 --- /dev/null +++ b/modules/ak-files @@ -0,0 +1,116 @@ +#!/bin/bash +## +## The following creates a files data message +## +## -h, --help Prints this help message +## +fullprogrampath="$(realpath $0)" +PROGRAM=$(basename $0) +descriptionString="Module for adding files" +ZFILESDIR="$AK_WORKDIR/files" +TEMP="/tmp/aktmp" +source $AK_LIBDIR/_ak_script +source $AK_LIBDIR/_ak_log +source $AK_LIBDIR/_ak_ipfs +source $AK_LIBDIR/_ak_gpg +source $AK_LIBDIR/_ak_zblock + +if [ ! -d $ZFILESDIR ]; then + mkdir $ZFILESDIR + if [ $? == 0 ] + then + logit "INFO" "Folder $ZFILESDIR created!" + else + logit "ERROR" "Failed to create $ZFILESDIR folder" + exit 1 + fi + cd $ZFILESDIR + git init +else + logit "INFO" "$ZFILESDIR found!" +fi + +_ak_modules_files_add(){ + CRP="$(pwd)" + FILENAME="$1" + main $FILENAME $CRP + cat $TEMPASSIN/data | jq -M +} +main(){ + FILENAME="$1" + CRP="$2" + echo "Adding $FILENAME" + logit "INFO" "Switching to tmp folder..." + TEMPASSIN="$(ak-tempassin)" + cd $TEMPASSIN + if [ $? == 0 ]; then + logit "INFO" "Success" + else + logit "ERROR" "Error with tmp folder" + exit 5 + fi + logit "INFO" "Copying $1 to $TEMPASSIN" + cp $2/$1 $TEMPASSIN/$1 + if [ $? == 0 ]; then + logit "INFO" "Copied successfully" + else + logit "ERROR" "Error copying..." + fi + + FILE="$TEMPASSIN/$1" + + logit "INFO" "Adding $FILE to IPFS..." + FILE_IPFS_HASH=$(_ak_ipfs_add $FILE) + if [ $? == 0 ]; then + logit "INFO" "Added $FILE to IPFS" + else + logit "ERROR" "Error in adding the $FILE to IPFS" + fi + logit "INFO" "Signing..." + SIGN_FILE=$FILENAME".asc" + _ak_gpg_sign_detached $SIGN_FILE $FILE + if [ $? == 0 ]; then + logit "INFO" "Signed" + else + logit "ERROR" "Error while signing" + fi + + logit "INFO" "Adding signature to IPFS" + SIGNATURE=$(_ak_ipfs_add $TEMPASSIN/$SIGN_FILE) + if [ $? == 0 ]; then + logit "INFO" "Added" + else + logit "ERROR" "Error while adding" + fi + + cat > $TEMPASSIN/data <<EOF +{ + "timestamp":"$(date -u +%s)", + "filename":"$FILENAME", + "ipfs":"$FILE_IPFS_HASH", + "detach":"$SIGNATURE" +} +EOF + +echo "Printing data..." +cat $TEMPASSIN/data +echo "Publishing..." + + _ak_zblock_pack files/add $PWD/data + if [ $? == 0 ] + then + echo "cool" + else + echo "not?" + exit 2 + fi +} + +if [ ! -z $1 ]; then + case $1 in + -h | --help) _ak_usage; exit;; + add) _ak_modules_files_add $2; exit;; + *) _ak_usage; exit;; + esac +else _ak_usage +fi |