Introduction
Introduction Statistics Contact Development Disclaimer Help
Add multiple dec and inc support to karma. - annna - Annna the nice friendly bo…
git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws6…
Log
Files
Refs
Tags
README
---
commit b0f43472e72697cedd16851cb5ca418f1af19b75
parent 87623b17fd2492141331a0647ddca3ba830c65ec
Author: Annna Robert-Houdin <[email protected]>
Date: Sun, 18 Sep 2022 11:02:14 +0200
Add multiple dec and inc support to karma.
Diffstat:
M karma | 31 +++++++++++++++++++++++------…
1 file changed, 23 insertions(+), 8 deletions(-)
---
diff --git a/karma b/karma
@@ -13,20 +13,20 @@ function setkarmaval {
}
function parsekarma {
- karmatag="$(printf "%s\n" "${1}" | sed -e 's,\(.*\)[+|-]\{2\}$,\1,')"
+ karmatag="$(printf "%s\n" "${1}" | sed -e 's,^\([a-zA-Z_0-9]*\).*$,\1,…
[ -z "${karmatag}" ] && karmatag="karma"
printf "%s\n" "${karmatag}"
}
function getkarmaval {
- karmatag="$(parsekarma "${1}")"
- karmaval="$(grep "^${karmatag}" "${karmadb}" | cut -f 2)"
+ karmatag="${1}"
+ karmaval="$(grep -P "^${karmatag}\t" "${karmadb}" | cut -f 2)"
[ -z "${karmaval}" ] && printf "0\n"
printf "%s\n" "${karmaval}"
}
function modifykarma {
- karmatag="$(parsekarma "$1")"
+ karmatag="$1"
karmaval=$(getkarmaval "${karmatag}")
newkarmaval="$(printf "%d%s\n" "${karmaval}" "$2" | bc)"
setkarmaval "${karmatag}" $newkarmaval
@@ -34,24 +34,39 @@ function modifykarma {
}
function inckarma {
- modifykarma "$1" " + 1"
+ modifykarma "$1" " + $2"
}
function deckarma {
- modifykarma "$1" " - 1"
+ modifykarma "$1" " - $2"
+}
+
+function parsechangevalue {
+ printf "%s\n" "${1}" | sed -e 's,.*[+|-]=\([0-9\-]*\),\1,'
}
karmastr="$1"
+karmatag="$(parsekarma "${karmastr}")"
case "${karmastr}" in
*" "*)
;;
*","*)
;;
+*+=*)
+ inckarma "${karmatag}" "$(parsechangevalue "${karmastr}")"
+ ;;
*++)
- inckarma "${karmastr}"
+ inckarma "${karmatag}" "1"
+ ;;
+*-=*)
+ deckarma "${karmatag}" "$(parsechangevalue "${karmastr}")"
;;
*--)
- deckarma "${karmastr}"
+ deckarma "${karmatag}" "1"
+ ;;
+"${karmatag}")
+ karmaval="$(getkarmaval "${karmatag}")"
+ printf "%s = %d\n" "$karmatag" "$karmaval"
;;
*)
sort -r -k 2 "${karmadb}" | column -t
You are viewing proxied material from bitreich.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.