summaryrefslogtreecommitdiff
path: root/.files/etc/abomination/modules/rvs/lib/rvsdb
diff options
context:
space:
mode:
Diffstat (limited to '.files/etc/abomination/modules/rvs/lib/rvsdb')
-rwxr-xr-x.files/etc/abomination/modules/rvs/lib/rvsdb83
1 files changed, 83 insertions, 0 deletions
diff --git a/.files/etc/abomination/modules/rvs/lib/rvsdb b/.files/etc/abomination/modules/rvs/lib/rvsdb
new file mode 100755
index 0000000..9763042
--- /dev/null
+++ b/.files/etc/abomination/modules/rvs/lib/rvsdb
@@ -0,0 +1,83 @@
+#!/bin/bash
+# abomination module:rvs:lib:rvsdb
+#name='rvs db'
+#ver='0.5.10'
+logver='0.5.0'
+# Copyright (C) 2009 Luke Shumaker
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# Originally written by Luke Shumaker <lukeshu@sbcglobal.net>.
+
+source "`rvs -d`/lib/stdio"
+#source "`rvs -d`/lib/rvsdb"
+
+repo='.rvs'
+
+# getid file
+function getid {
+ #md5sum $file | sed "s/ .*$//"
+ sha1sum $file | sed "s/ .*$//"
+}
+
+# loginit LOG
+function loginit {
+ log="$1"
+ echo "#!rvsdb $logver" > "$log";
+}
+
+# lograw LOG
+function lograw {
+ log="$1"
+ sed '1s/#!rvsdb .*//' "$log"
+}
+
+# _find LOG FIELD VAL
+function _find {
+ log="$1"
+ field="$2"
+ val="$3"
+ lograw $log | \
+ cut -d : -f field | \
+ sed -n "/^$val$/=" | \
+ tr "\n" , | \
+ sed 's/,$//'
+}
+
+# logread LOG VAR
+function logread {
+ log="$1"
+ var="$2"
+ lograw "$log" | sed -n "s/^$var://p"
+ #lograw "$log" | sed -n `_find "$log" '1' "$var"`p | cut -d : -f 2-
+}
+
+# logwrite LOG VAR VAL
+function logwrite {
+ log="$1"
+ var="$2"
+ val="$3"
+
+ #lines=`_find "$log" '1' "$var"`
+ #if [ "$lines" = '' ]; then
+ if [ `lograw "$log" | grep "^$var:"` = '' ]; then
+ # no exiswhereting occurances
+ echo "$var:$val" >> "$log"
+ else
+ # found others
+ sed -i "^s/$var:.*/$var:$val/" "$log"
+ #lograw "$log" | ??????
+ fi
+}
+
+# logfind LOG VAL
+function logfind {
+ log="$1"
+ val="$2"
+ # make a comma-delimeted list of the lines with our values
+ lines=`_find "$log" '2-' "$val"`
+ lograw "$log" | sed -n ${lines}p | cut -d : -f 1
+}
+