aboutsummaryrefslogtreecommitdiff
path: root/bin/ak-todos
blob: 0c59bba05eef6ac809fd455a12d0ecb24bd01d1b (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
136
137
138
139
140
#!/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 <<EOF
{
   "datetime":"$TODOS_FILE",
   "title":"$TITLE",
   "filename":"$FILE",
   "ipfs":"$FILE_IPFS_HASH",
   "detach":"$FILE_SIGNATURE"
}
EOF
	else
		echo "File $FILE doesn't exist";
		exit 2
	fi
	pack_z_block "todos/add" data
	if [ $? == 0 ]
	then
		logthis "Todos 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 todos files"
	echo "import <file>	#TODO"
	echo "add <file>	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