remove local since its not POSIX complaint
should be fine for the most part. most of the fucntions are self contained. only function that gets called inside of other functions is bm_list(). all the variables inside bm_list() start with QUERY thus it shouldn't conflict with variables from other functions.
This commit is contained in:
24
sxbm
24
sxbm
@ -65,14 +65,14 @@ bm_add(){
|
|||||||
|
|
||||||
# TODO while functional, this is extremely fucking stupid.
|
# TODO while functional, this is extremely fucking stupid.
|
||||||
# there has to be a better way to do this.
|
# there has to be a better way to do this.
|
||||||
local LINK=$( echo "$@" | grep -o "[^[:space:]]\+\.[^[:space:]]\+" )
|
LINK=$( echo "$@" | grep -o "[^[:space:]]\+\.[^[:space:]]\+" )
|
||||||
[ -z "$LINK" ] && die "No links found"
|
[ -z "$LINK" ] && die "No links found"
|
||||||
[ "$( echo "$LINK" | wc -l )" -gt 1 ] && die "Too many links!!\n$LINK"
|
[ "$( echo "$LINK" | wc -l )" -gt 1 ] && die "Too many links!!\n$LINK"
|
||||||
|
|
||||||
local REMAINING=$( echo "$@" | tr " " "\n" | grep -v "[^[:space:]]\+\.[^[:space:]]\+" )
|
REMAINING=$( echo "$@" | tr " " "\n" | grep -v "[^[:space:]]\+\.[^[:space:]]\+" )
|
||||||
[ -n "$REMAINING" ] &&
|
[ -n "$REMAINING" ] &&
|
||||||
local TAGS=$( echo "$REMAINING" | grep "^\\+[^[:space:]]" | tr "\n" " " ) &&
|
TAGS=$( echo "$REMAINING" | grep "^\\+[^[:space:]]" | tr "\n" " " ) &&
|
||||||
local TITLE=$( echo "$REMAINING" | grep -v "^\\+[^[:space:]]" | tr "\n" " " )
|
TITLE=$( echo "$REMAINING" | grep -v "^\\+[^[:space:]]" | tr "\n" " " )
|
||||||
|
|
||||||
echo "$LINK $TITLE $TAGS" >> $DATA_FILE &&
|
echo "$LINK $TITLE $TAGS" >> $DATA_FILE &&
|
||||||
echo "Link $(wc -l < "$DATA_FILE") added successfully!" ||
|
echo "Link $(wc -l < "$DATA_FILE") added successfully!" ||
|
||||||
@ -80,9 +80,9 @@ bm_add(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
bm_list(){
|
bm_list(){
|
||||||
local QUERY_TAG
|
QUERY_TAG=""
|
||||||
local QUERY_TITLE
|
QUERY_TITLE=""
|
||||||
local QUERY_STRICT="||"
|
QUERY_STRICT="||"
|
||||||
|
|
||||||
while [ -n "$1" ]; do
|
while [ -n "$1" ]; do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
@ -91,7 +91,7 @@ bm_list(){
|
|||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
"-s"|"--strict")
|
"-s"|"--strict")
|
||||||
local QUERY_STRICT="&&"
|
QUERY_STRICT="&&"
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@ -144,19 +144,19 @@ bm_list(){
|
|||||||
|
|
||||||
bm_open(){
|
bm_open(){
|
||||||
if [ "$1" = "-f" ] || [ "$1" = "--force" ]; then
|
if [ "$1" = "-f" ] || [ "$1" = "--force" ]; then
|
||||||
local FORCE=1
|
FORCE=1
|
||||||
shift
|
shift
|
||||||
fi
|
fi
|
||||||
[ -z "$1" ] && die "No arguments given"
|
[ -z "$1" ] && die "No arguments given"
|
||||||
|
|
||||||
if [ -z "$2" ] && [ "$1" -eq "$1" 2>/dev/null ]; then
|
if [ -z "$2" ] && [ "$1" -eq "$1" 2>/dev/null ]; then
|
||||||
local LINK=$( awk -v F="$1" 'NR == F {print NR" "$1}' $DATA_FILE )
|
LINK=$( awk -v F="$1" 'NR == F {print NR" "$1}' $DATA_FILE )
|
||||||
else
|
else
|
||||||
local LINK=$( bm_list "-c" "$@" )
|
LINK=$( bm_list "-c" "$@" )
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ -n "$LINK" ] &&
|
[ -n "$LINK" ] &&
|
||||||
local LINK_NUM=$( echo "$LINK" | wc -l ) ||
|
LINK_NUM=$( echo "$LINK" | wc -l ) ||
|
||||||
die "No links found"
|
die "No links found"
|
||||||
|
|
||||||
if [ "$LINK_NUM" -gt 1 ] && [ -z "$FORCE" ]; then
|
if [ "$LINK_NUM" -gt 1 ] && [ -z "$FORCE" ]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user