blob: 362de0a37c5c920c31c5e0280e873d9e30cfa120 (
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
|
#!/usr/bin/env bash
## #TODO
## All you need to know is that there are two options available:
## -h, --help Prints this help message
## index Prints an indexed table of your references files
## import <file> #TODO
## add <file> Creates a data file from the references file you point to
## create [ref] [to] Vim is going to pop up, you will write and save your
## referencesletter and it's going to be saved
fullprogrampath="$(realpath $0)"
PROGRAM=$(basename $0)
descriptionString="Quick description"
ZREFERENCESDIR="$AK_WORKDIR/references"
TEMP="/tmp/aktmp"
source $AK_LIBDIR/_ak_log
source $AK_LIBDIR/_ak_script
source $AK_LIBDIR/_ak_ipfs
source $AK_LIBDIR/_ak_gpg
source $AK_LIBDIR/_ak_zblock
if [ ! -d $ZREFERENCESDIR ]; then
mkdir $ZREFERENCESDIR
cd $ZREFERENCESDIR
_ak_log_info "zreferencesdir created"
else
_ak_log_info "zreferencesdir found"
fi
_ak_modules_reference_create(){
TEMP="$(_ak_make_temp_directory)"
cd $TEMP
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
_ak_modules_reference_add $ZREFERENCESDIR/$TO_FILE
cd $ZREFERENCESDIR
}
_ak_modules_reference_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
}
_ak_modules_reference_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
_ak_modules_reference_add $1/$f
done
fi
else
echo "No value"
exit 6
fi
exit 224
}
_ak_modules_reference_add(){
TEMP="$(_ak_make_temp_directory)"
cd $TEMP
if [ ! -f $1 ]; then
echo "File $FILE doesn't exist";
exit 2
fi
FILE="$1"
echo "Adding references from " $FILE
DATETIME=$(echo $FILE | cut -d - -f 1 | awk '{print $1}')
FILE_IPFS_HASH=$(_ak_ipfs_add $FILE)
FILE_SIGN_FILE=$FILE".asc"
_ak_gpg_sign_detached $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
cat data | jq -M -c > tmp
cat tmp > data
rm tmp
_ak_zblock_pack "references/add" $(pwd)/data
if [ $? != 0 ]
then
echo "error??"
exit 1
fi
echo "References added successfully"
}
if [ ! -z $1 ]; then
case $1 in
-h | --help) _ak_usage; exit;;
index) _ak_modules_reference_index; exit;;
import) _ak_modules_reference_import $2; exit;;
add) _ak_modules_reference_add $2; exit;;
create) _ak_modules_reference_create $2 $3; exit;;
* ) _ak_usage;;
esac
else _ak_usage
fi
|