diff options
Diffstat (limited to 'bin/comments')
| -rwxr-xr-x | bin/comments | 140 | 
1 files changed, 140 insertions, 0 deletions
| diff --git a/bin/comments b/bin/comments new file mode 100755 index 0000000..bcb29ee --- /dev/null +++ b/bin/comments @@ -0,0 +1,140 @@ +#!/bin/bash +ZCOMMENTSDIR="$WORKDIR/comments" +TEMP="/tmp/aktmp" +echo $ZCOMMENTSDIR +if [ ! -d $ZCOMMENTSDIR ]; then +	mkdir $ZCOMMENTSDIR +	cd $ZCOMMENTSDIR +	git init +	echo "zcommentsdir created along with git repo" +else +	echo "zcommentsdir 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(){ +	if [ ! -z $1 ] +	then +		REFER_TO="$1" +	fi +	tempassin $TEMP +	export COMMENTS_FILE="$(date -u +%s)" +	vi $COMMENTS_FILE +	echo "Renaming..." +	TO_FILE=$COMMENTS_FILE +	IPFS_FILE=$(ipfs add -q $COMMENTS_FILE) +	mv $COMMENTS_FILE $ZCOMMENTSDIR/$TO_FILE +	add $TO_FILE +	echo "Adding to git repo..." +	cd $ZCOMMENTSDIR +	git add $TO_FILE  +	git commit -m "Added $TO_FILE with $(head -n 1 $ZCOMMENTSDIR/$TO_FILE)" +	git clean --force +	# rm -rf $TEMP  +	if [ ! -z $REFER_TO ] +	then +		reference create $REFERENCE $REFER_TO +	fi +} +index(){ +	FILES="$(ls -1 $ZCOMMENTSDIR)" +	i=0 +	for FILE in $FILES +	do +		DATE=$(echo $FILE | cut -d - -f 1 | awk '{print $1}') +		TITLE=$(head -n 1 $ZCOMMENTSDIR/$FILE) +		echo $i \| $DATE \| $TITLE +		let i+=1 +	done	 +} +title(){ +	echo	ak-comments-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 "$ZCOMMENTSDIR/$1" ]; then +		FILE=$ZCOMMENTSDIR/$1 +		echo "Adding comments from " $FILE +		DATETIME="$1" +		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":"$DATETIME", +   "ipfs":"$FILE_IPFS_HASH", +   "detach":"$FILE_SIGNATURE" +} +EOF +	else +		echo "File $FILE doesn't exist"; +		exit 2 +	fi +	REFERENCE="$(pack_z_block "comments/add" data)" +	if [ $? == 0 ] +	then +		echo "Comments 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 comments files" +	echo "import <file>		#TODO" +	echo "add <file> <refer_to>	Creates a data file from the comments file you point to" +	echo "create <refer_to>		Vim is going to pop up, you will write and save your" +	echo "                  	commentsletter 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 $3; exit;; +		create) create $2; exit;; +		* ) usage;; +	esac +else usage +fi | 
