#!/bin/bash ZTODOSDIR="$WORKDIR/todos" TEMP="/tmp/aktmp" if [ ! -d $ZTODOSDIR ]; then mkdir $ZTODOSDIR cd $ZTODOSDIR git init echo "Todos repository" > README echo "Qmetc" >> README git add README git commit -m "Initiated todos repository" logthis "ztodosdir created along with git repo" else logthis "ztodosdir found" fi tempassin(){ if [ ! -z $1 ] then TEMPASSIN="$1" else TIMESTAMP="$(date -u +%s)" TEMPASSIN="/tmp/aktmp_$TIMESTAMP" fi if [ ! -d $TEMPASSIN ]; then mkdir $TEMPASSIN fi cd $TEMPASSIN } create(){ tempassin $TEMP pwd export TODOS_FILE="$(date -u +%s)" vi $TODOS_FILE logthis "Renaming..." TITLE="$(head -n 1 $TODOS_FILE)" TO_FILE=$TODOS_FILE-$(echo $TITLE | tr '[:upper:]' '[:lower:]' | sed -e 's/ /\_/g' ) IPFS_FILE=$(ipfs add -q $TODOS_FILE) mv $TODOS_FILE $ZTODOSDIR/$TO_FILE sed -e 's,Qm.*,'"$IPFS_FILE"',g' $ZTODOSDIR/README add $ZTODOSDIR/$TO_FILE logthis "Adding to git repo..." cd $ZTODOSDIR git add $TO_FILE README git commit -m "Added $TO_FILE with $(head -n 1 $ZTODOSDIR/$TO_FILE)" git clean --force # rm -rf $TEMP } index(){ FILES="$(ls -1 $ZTODOSDIR)" i=0 for FILE in $FILES do DATE=$(echo $FILE | cut -d - -f 1 | awk '{print $1}') TITLE=$(head -n 1 $ZTODOSDIR/$FILE) echo $i \| $DATE \| $TITLE let i+=1 done } title(){ echo ak-todos-cli echo "--------------" } import(){ echo "#TODO" if [ ! -z $1 ] then if [ ! -d $1 ] then echo "Folder does not exists" exit 4 else echo "Folder $1 exists" fl="$(ls -1 $1)" for f in $fl do add $1/$f done fi else echo "No value" exit 6 fi exit 224 } add(){ tempassin if [ -f $1 ]; then FILE="$1" logthis "Adding todos from $FILE" DATETIME=$(echo $FILE | cut -d - -f 1 | awk '{print $1}') TITLE=$(head -n 1 $FILE) FILE_IPFS_HASH=$(ipfs add -q $FILE) FILE_SIGN_FILE=$FILE".asc" gpg --detach-sign --sign-with $FINGERPRINT --armor --output $FILE_SIGN_FILE $FILE FILE_SIGNATURE=$(ipfs add -q $FILE_SIGN_FILE) cat > data < #TODO" echo "add Creates a data file from the todos file you point to" echo "create Vim is going to pop up, you will write and save your" echo " todosletter and it's going to be saved" exit 0 } if [ ! -z $1 ]; then case $1 in help) usage; exit;; index) index; exit;; import) import $2; exit;; add) add $2; exit;; create) create; exit;; * ) usage;; esac else usage fi