aboutsummaryrefslogtreecommitdiff
path: root/modules/ak-files
diff options
context:
space:
mode:
authorkaotisk <kaotisk@arching-kaos.org>2024-06-04 18:07:39 +0300
committerkaotisk <kaotisk@arching-kaos.org>2024-06-04 18:07:39 +0300
commit0d1777251dea7d35cd774518959b4377673e1cab (patch)
treeb3d7a15725641c9e3d1d7b45150135e1f8ce9a71 /modules/ak-files
parent684dd3e038ae90f0fd1f53211ce4d30141e35bf2 (diff)
downloadarching-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-xmodules/ak-files116
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