aboutsummaryrefslogtreecommitdiff
path: root/bin/ak-reference
blob: e820076d9371c9a80ba268139397d25fa5e59ce5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#!/bin/bash
ZREFERENCESDIR="$AK_WORKDIR/references"
TEMP="/tmp/aktmp"
echo $ZREFERENCESDIR
if [ ! -d $ZREFERENCESDIR ]; then
	mkdir $ZREFERENCESDIR
	cd $ZREFERENCESDIR
	echo "zreferencesdir created"
else
	ak-logthis "zreferencesdir found"
fi

create(){
    TEMP="$(ak-tempassin)"
    cd $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=$(ak-ipfs-add $ZREFERENCESDIR/$TO_FILE)
	sed -e 's,Qm.*,'"$IPFS_FILE"',g' $ZREFERENCESDIR/README
	add $ZREFERENCESDIR/$TO_FILE
	cd $ZREFERENCESDIR
}
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(){
    TEMP="$(ak-tempassin)"
    cd $TEMP
	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=$(ak-ipfs-add $FILE)
		FILE_SIGN_FILE=$FILE".asc"
		gpg --detach-sign --sign-with $AK_FINGERPRINT --armor --output $FILE_SIGN_FILE $FILE
		FILE_SIGNATURE=$(ak-ipfs-add $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
    ak-pack_z_block "references/add" $(pwd)/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