aboutsummaryrefslogtreecommitdiff
path: root/bin/reference
diff options
context:
space:
mode:
Diffstat (limited to 'bin/reference')
-rwxr-xr-xbin/reference154
1 files changed, 154 insertions, 0 deletions
diff --git a/bin/reference b/bin/reference
new file mode 100755
index 0000000..59eaa04
--- /dev/null
+++ b/bin/reference
@@ -0,0 +1,154 @@
+#!/bin/bash
+ZREFERENCESDIR="$WORKDIR/references"
+TEMP="/tmp/aktmp"
+echo $ZREFERENCESDIR
+if [ ! -d $ZREFERENCESDIR ]; then
+ mkdir $ZREFERENCESDIR
+ cd $ZREFERENCESDIR
+ git init
+ echo "References repository" > README
+ echo "Qmetc" >> README
+ git add README
+ git commit -m "Initiated references repository"
+ echo "zreferencesdir created along with git repo"
+else
+ logthis "zreferencesdir 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 REFERENCEFILE="$(date -u +%s)"
+ if [ ! -z $1 ] && [ ! -z $2 ]
+ then
+ TO_FILE="$(date -u +%s)-$1-$2"
+ cat > $REFERENCEFILE << EOF
+$1
+$2
+EOF
+
+ else
+ vi $REFERENCEFILE
+ fi
+ REFERENCE="$(head -n 1 $REFERENCEFILE)"
+ REFER_TO="$(tail -n 1 $REFERENCEFILE)"
+ TO_FILE="$REFERENCEFILE-$REFERENCE-$REFER_TO"
+ mv $REFERENCEFILE $ZREFERENCESDIR/$TO_FILE
+ echo $TO_FILE
+ IPFS_FILE=$(ipfs add -q $ZREFERENCESDIR/$TO_FILE)
+ sed -e 's,Qm.*,'"$IPFS_FILE"',g' $ZREFERENCESDIR/README
+ add $ZREFERENCESDIR/$TO_FILE
+ echo "Adding to git repo..."
+ cd $ZREFERENCESDIR
+ git add $TO_FILE README
+ git commit -m "Added $TO_FILE with $(head -n 1 $ZREFERENCESDIR/$TO_FILE)"
+ git clean --force
+}
+index(){
+ FILES="$(ls -1 $ZREFERENCESDIR)"
+ i=0
+ for FILE in $FILES
+ do
+ DATE=$(echo $FILE | cut -d - -f 1 | awk '{print $1}')
+ TITLE=$(head -n 1 $ZREFERENCESDIR/$FILE)
+ REFE=$(tail -n 1 $ZREFERENCESDIR/$FILE)
+ echo $i \| $DATE \| $TITLE \| $REFE
+ let i+=1
+ done
+}
+title(){
+ echo ak-references-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"
+ echo "Adding references from " $FILE
+ DATETIME=$(echo $FILE | cut -d - -f 1 | awk '{print $1}')
+ #FILE=$(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 <<EOF
+{
+ "datetime":"$(date -u +%s)",
+ "reference":"$REFERENCE",
+ "refer_to":"$REFER_TO",
+ "ipfs":"$FILE_IPFS_HASH",
+ "detach":"$FILE_SIGNATURE"
+}
+EOF
+ else
+ echo "File $FILE doesn't exist";
+ exit 2
+ fi
+ pack_z_block "references/add" data
+ if [ $? == 0 ]
+ then
+ echo "References added successfully"
+ else
+ echo "error??"
+ exit 1
+ fi
+}
+
+usage(){
+ title
+ echo "#TODO"
+ echo "All you need to know is that there are two options available:"
+ echo "help Prints this help message"
+ echo "index Prints an indexed table of your references files"
+ echo "import <file> #TODO"
+ echo "add <file> Creates a data file from the references file you point to"
+ echo "create [ref] [to] Vim is going to pop up, you will write and save your"
+ echo " referencesletter 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 $2 $3; exit;;
+ * ) usage;;
+ esac
+else usage
+fi