aboutsummaryrefslogtreecommitdiff
path: root/bin/ak-follow
diff options
context:
space:
mode:
authorkaotisk <kaotisk@arching-kaos.org>2024-06-30 22:39:50 +0300
committerkaotisk <kaotisk@arching-kaos.org>2024-06-30 22:39:50 +0300
commitde53c55383ed07e0b65f69d33f5284a31d791664 (patch)
treef1e426c88a5d0a48ca463eccd21c1d12524d8f3a /bin/ak-follow
parent9531bcdffff4e44e8aadb000f0b577d59a32ea3f (diff)
downloadarching-kaos-tools-de53c55383ed07e0b65f69d33f5284a31d791664.tar.gz
arching-kaos-tools-de53c55383ed07e0b65f69d33f5284a31d791664.tar.bz2
arching-kaos-tools-de53c55383ed07e0b65f69d33f5284a31d791664.zip
Refactoring
Diffstat (limited to 'bin/ak-follow')
-rwxr-xr-xbin/ak-follow102
1 files changed, 86 insertions, 16 deletions
diff --git a/bin/ak-follow b/bin/ak-follow
index c289b0f..d8461b8 100755
--- a/bin/ak-follow
+++ b/bin/ak-follow
@@ -1,26 +1,96 @@
#!/bin/bash
-FOLLOWING="$HOME/.arching-kaos/following"
-PROGRAM="$(basename $0)"
+##
+## You can maintain a list of friendly zchains or ids
+##
+## Usage:
+##
+## -h, --help Prints this help message
+##
+## -f, --follow Adds a ... to your follow list
+##
+## -l, --list Shows a list of your followings
+##
+## -u, --unfollow Unfollows a ...
+##
+fullprogrampath="$(realpath $0)"
+PROGRAM=$(basename $0)
+descriptionString="Following stuff"
+
source $AK_LIBDIR/_ak_log
+source $AK_LIBDIR/_ak_script
source $AK_LIBDIR/_ak_ipfs
-if [ ! -z $1 ]
-then
- grep $1 $FOLLOWING
- if [ $? == 0 ]
+FOLLOWING="$HOME/.arching-kaos/following"
+
+_ak_follow_follow(){
+ if [ ! -z $1 ]
then
- _ak_log_error "Already exists"
- exit 1
+ grep $1 $FOLLOWING
+ if [ $? == 0 ]
+ then
+ _ak_log_error "Already exists"
+ exit 1
+ fi
+ echo $1 >> $FOLLOWING
+ IPFS=$(_ak_ipfs_add $FOLLOWING)
+ if [ $? -ne 0 ]
+ then
+ _ak_log_error "Addition failed"
+ exit 1
+ fi
+ ak-profile set following $IPFS
+ exit 0
fi
- echo $1 >> $FOLLOWING
- IPFS=$(_ak_ipfs_add $FOLLOWING)
- if [ $? != 0 ]
+ printf "Usage:\n\t%s <AKID_IPFS_CID_v0>\n" $PROGRAM
+ exit 1
+}
+
+_ak_follow_list(){
+ if [ -f $FOLLOWING ]
+ then
+ cat $FOLLOWING
+ else
+ _ak_log_info "No following file, creating"
+ touch $FOLLOWING
+ echo "None found"
+ fi
+}
+
+_ak_follow_unfollow(){
+ FOLLOWING="$HOME/.arching-kaos/following"
+ fentries="$(cat $FOLLOWING)"
+ if [ ! -z $1 ]
then
- _ak_log_error "Addition failed"
+ search="$1"
+ sed -i -e 's,'"$search"',,g' $FOLLOWING
+ if [ $? -ne 0 ]
+ then
+ _ak_log_error "sed didn't found $search"
+ exit 1
+ fi
+ IPFS="$(_ak_ipfs_add $FOLLOWING)"
+ if [ $? -ne 0 ]
+ then
+ _ak_log_error "IPFS problem"
+ exit 1
+ fi
+ ak-profile set repositories "$IPFS"
+ exit 0
+ else
+ echo "Who to unfollow?"
+ echo "Type following to see them"
exit 1
fi
- ak-profile set following $IPFS
- exit 0
+}
+
+if [ ! -z $1 ]
+then
+ case $1 in
+ -h | --help) _ak_usage; exit;;
+ -f | --follow) _ak_follow_follow $2; exit;;
+ -l | --list) _ak_follow_list $2; exit;;
+ -u | --unfollow) _ak_follow_unfollow $2; exit;;
+ * ) _ak_usage;;
+ esac
+else _ak_usage
fi
-printf "Usage:\n\t%s <AKID_IPFS_CID_v0>\n" $PROGRAM
-exit 1