From 432b849e0ce234b9be47ae96bcccdb202b85a8e2 Mon Sep 17 00:00:00 2001 From: NRK Date: Tue, 13 Apr 2021 04:06:57 +0600 Subject: [PATCH] implemented add --- sxbm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/sxbm b/sxbm index d1fe8f7..29448ac 100755 --- a/sxbm +++ b/sxbm @@ -51,6 +51,22 @@ COMMANDS: -v|--version print the version and exit\n\n" } +bm_add(){ + [ -z "$1" ] && die "No arguments provided. Use 'sxbm -h' for help" + + # TODO while functional, this is extremely fucking stupid. + # there has to be a better way to do this. + local LINK=$( echo "$@" | tr " " "\n" | grep -E "\w+\.\w+" ) + [ -z "$LINK" ] && die "No links found" + [ "$( echo "$LINK" | wc -l )" -gt 1 ] && die "Too many links!!\n$LINK" + + local TAGS=$( echo "$@" | grep -o -E "\+\w+" | tr "\n" " " ) + local TITLE=$( echo "$@" | tr " " "\n" | sed '/^+/d;/.*\.[a-zA-Z]/d' | tr "\n" " " ) + + echo "$LINK $TITLE $TAGS" >> $DATA_FILE && + echo "Link $(wc -l < "$DATA_FILE") added successfully!" || + die "Couldn't add link" +} ############ ### main ### @@ -64,6 +80,8 @@ COMMANDS: case "$1" in "add") + shift + bm_add "$@" ;; "ls"|"list") ;;