From 03d8f0911542aa6285aaec42f8b606bb2b7d6051 Mon Sep 17 00:00:00 2001
From: "Hahn Axel (hahn)" <axel.hahn@unibe.ch>
Date: Thu, 2 Nov 2023 12:12:08 +0100
Subject: [PATCH] remove confighandler

---
 inc/confighandler.sh | 438 -------------------------------------------
 1 file changed, 438 deletions(-)
 delete mode 100755 inc/confighandler.sh

diff --git a/inc/confighandler.sh b/inc/confighandler.sh
deleted file mode 100755
index 699ac70..0000000
--- a/inc/confighandler.sh
+++ /dev/null
@@ -1,438 +0,0 @@
-#!/bin/bash
-# ======================================================================
-#
-# VARIABLE STORAGE written in Bash
-#
-# ----------------------------------------------------------------------
-# 2020-01-25  v0.1  <axel.hahn@iml.unibe.ch>
-# 2020-01-26  v0.2  <axel.hahn@iml.unibe.ch> added --get, --add
-# 2020-01-27  v0.3  <axel.hahn@iml.unibe.ch> added storages handling
-# 2020-01-30  v0.5  <axel.hahn@iml.unibe.ch> added --setfile
-# ======================================================================
-
-_product="VARIABLE STORAGE"
-_version=0.5
-
-# _storagedir=/var/tmp/confighandler
-_storagedir=/dev/shm/confighandler
-
-_storageprefix='flat-variable-store-'
-_storagename='default'
-tmpfile=/tmp/cfgmover.tmp
-
-_markFile='::FILE-CONTENT::'
-
-# ----------------------------------------------------------------------
-# FUNCTIONS
-# ----------------------------------------------------------------------
-
-# write a debug message to STDERR
-function _wd(){
-	echo -e "\e[33m# $*\e[0m" >&2
-}
-
-# write error message in red to STDERR
-function _we(){
-	echo -e "\e[31m# $*\e[0m" >&2
-}
-
-# ----------------------------------------------------------------------
-# storage functions
-# ----------------------------------------------------------------------
-
-# set a variable storage
-# param  string  name of the storage; allowed chars are a-z and 0-9
-function storageset(){
-	_storagename=`echo $1 | sed "s#[^a-z0-9]##g"`
-
-	mkdir $_storagedir 2>/dev/null
-        chmod 777 $_storagedir
-	_wd "set storage [${_storagename}]"
-	# cfgfile=`dirname $0`/${_storageprefix}${_storagename}.cfg
-	cfgfile=$_storagedir/${_storageprefix}${_storagename}.cfg
-}
-
-# list existing storages
-function storagelist(){
-	ls -1 ${_storagedir}/${_storageprefix}*.cfg | sed "s#${_storagedir}/${_storageprefix}##g" | sed "s#.cfg\$##g"
-}
-
-# delete current storage data
-function storagedelete(){
-	rm -f "$cfgfile"
-}
-
-
-# ----------------------------------------------------------------------
-# variable functions
-# ----------------------------------------------------------------------
-
-function _removeprefix(){
-	local _var=$1
-	_wd "removing ${_var} ..."
-	cat $cfgfile 2>/dev/null | grep -v "^${_var}" > $tmpfile
-	mv $tmpfile $cfgfile
-}
-
-function vargetvalue(){
-	local _var=$1
-	grep "^${_var}=" $cfgfile | cut -f 2 -d '='
-}
-
-
-function varaddvalue(){
-	local _var=$1
-        shift 1
-	local _val=$*
-	local _value=`vargetvalue $_var`
-	echo $_value | grep '^\[' >/dev/null
-	if [ $? -ne 0 ]; then
-		# echo ERROR: you can add a value to an array only - not on [$_value]
-		_we "ERROR: you can add a value to an array only - not on [$_value]"
-	else
-		_wd "OK, array detected: $_value"
-		_value=`echo $_value | sed "s#]##"`,$_val"]"
-		varset $_var "$_value"
-	fi
-}
-
-function varremove(){
-	local _var=$1
-	# _removeprefix "${_var}="
-	cat $cfgfile 2>/dev/null | grep -v "^${_var}=" > $tmpfile
-	mv $tmpfile $cfgfile
-}
-
-
-function varset(){
-	local _var=$1
-        shift 1
-	local _val=$*
-
-	varremove "${_var}"
-	_wd "setting ${_var} = ${_val} ..."
-	(echo ${_var}=${_val} ; cat $cfgfile 2>/dev/null ) >$tmpfile
-	sort $tmpfile > $cfgfile
-	rm -f $tmpfile
-}
-function varsetfile(){
-	local _var=$1
-        shift 1
-	local _val=$*
-	varset $_var "${_markFile}${_val}"
-}
-function showstorage(){
-	if [ -f $cfgfile ]; then
-		_wd "content of storage [${_storagename}]"
-		cat $cfgfile
-	else
-		_wd "storage [${_storagename}] is emtpy"
-	fi
-}
-
-# ----------------------------------------------------------------------
-# export functions
-# ----------------------------------------------------------------------
-
-function _showFileAsJson(){
-	local _file=$1
-	which jq >/dev/null
-	if [ $? -eq 0 ]; then
-		jq -nR --arg data "`cat $_file`" '$data'
-	else
-		_we "ERROR: Json export of files ${_markFile} requires [jq]"
-	fi
-}
-
-function _jsonloop(){
-	local var=$1
-	typeset -i iFollow=$2
-
-	# _wd "_jsonloop $1 $2"
-
-	typeset -i level=`echo $var | grep -o '\.' | wc -l`+2
-
-	typeset -i local iChilds=0
-	typeset -i local iCount=0
-	typeset -i local iLeft=0
-
-	typeset -i lastlevel=$level-1
-	local sLastvar=`echo ${var} | cut -f $lastlevel -d "."`
-	local space=`printf %${lastlevel}s |tr " " "\t"`
-
-	# --- handle existing subkeys
-	grep "^${var}\." $cfgfile >/dev/null && (
-		iCount=0
-		iChilds=`grep "^${var}" $cfgfile | wc -l`
-		echo "${space}\"$sLastvar\": {"
-		for myhash in `grep "^${var}[\.=]" $cfgfile | cut -f 1 -d "=" | cut -f $level -d "." | sort -u`
-		do
-			iCount=$iCount+1
-			iLeft=$iChilds-$iCount
-			_jsonloop "$var.$myhash" $iLeft
-		done
-		echo -n "${space}}"
-	)
-
-	# --- show values
-
-	grep "^${var}=" $cfgfile >/dev/null && (
-		value=`grep "^${var}=" $cfgfile | cut -f 2- -d "="`
-		echo -n "${space}\"$sLastvar\": "
-		echo ${value}| grep "${_markFile}" >/dev/null
-		if [ $? -eq 0 ]; then
-			_showFileAsJson `echo ${value} | sed "s#^${_markFile}##"`
-		else	
-			echo -n "${value}"
-		fi
-	)
-	if [ $iFollow -gt 0 ]; then
-		echo ","
-	else
-		echo
-	fi
-}
-
-function exportJson(){
-	# _wd "exportJson - init: find first level of vars"
-	typeset -i local iCount=0
-	typeset -i local iLeft=0
-	typeset -i local iChilds=`grep "^[a-zA-Z]" $cfgfile | cut -f 1 -d "=" | cut -f 1 -d '.' | sort -u | wc -l`
-
-	echo "{"
-
-	# first level names
-	for lev1var in `cat $cfgfile | grep "^.*\=" | cut -f 1 -d "=" | grep -v "\." | sort -u`
-	do
-		#_wd "exportJson - start run with var [$lev1var]"
-		iCount=$iCount+1
-		iLeft=$iChilds-$iCount
-		_jsonloop "$lev1var" $iLeft
-	done
-
-	# _wd "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
-	# first level hashes
-	for lev1var in `cat $cfgfile | cut -f 1 -d "=" | grep  "\." | cut -f 1 -d "." | sort -u`
-	do
-		#_wd "exportJson - start run with hash [$lev1var]"
-		iCount=$iCount+1
-		iLeft=$iChilds-$iCount
-		_jsonloop "$lev1var" $iLeft
-	done
-	echo "}"
-
-}
-
-
-# W.I.P
-# JSON export with processing line by line
-#
-function exportJson2(){
-	typeset -i local iSublevel=0
-	typeset -i local iLast=0
-
-	typeset -i local lastlevel
-	local sLastvar
-
-	grep '^[a-zA-Z]' $cfgfile | while read line
-	do
-		fullvar=`echo $line | cut -f 1 -d "="`
-		iSublevel=`echo $fullvar | grep -o '\.' | wc -l`+2
-		lastlevel=$iSublevel-1
-		sLastvar=`echo ${fullvar} | cut -f $lastlevel -d "."`
-
-		local space=`printf %${lastlevel}s |tr " " "\t"`
-
-		echo "${space} $line .. level $iSublevel .. $sLastvar"
-	done
-}
-
-# ----------------------------------------------------------------------
-# help
-# ----------------------------------------------------------------------
-
-# show help text
-function showHelp(){
-self=`basename $0`
-cat <<EOH
-
-$_product v$_version
-
-This script handles variables and nested values (hashes and arrays).
-You can create several configuration sets (storages) to isolate them.
-
-Help
-
-	--help or -h or -?
-		show this help and abort.
-
-	--version or -v
-		show the version.
-
-Storage parameters
-
-	--storage NAME
-		Set a storage to use. Allowed chars are a-z and 0-9.
-		Default is a storage named "default".
-		You can set an evironment variable CFGSTORAGE to override
-		the default (= to skip --storage NAME).
-
-	--list
-		List existing storages.
-
-	--flush
-		delete current storage data
-
-	--show
-		show the current config entries as plain text
-
-	--json
-		show config entries as json.
-		Warning: it is implemented in Bash - can be slow on more data
-
-Create | read | update | delete variables
-
-	--set VARNAME VALUE
-		Set a variable and its value.
-		If it does not exist then it will be created.
-		If it exist then it will be overwritten with the new value.
-
-		For the values you can force the type:
-			* Use single and double quotes to set a string, i.e.
-				\$ $self --set my_string '"hello world"'
-
-			* Quote the doublequotes to expand variables, i.e.
-				\$ $self --set my_string2 \"\${my_string2}\"
-
-			* use no quoting vor integers and values
-				\$ $self --set number_cpu 8
-
-			* use barackets in quotes to set an array
-				\$ $self --set my_array '[8, 12, 16]'
-
-		Use a "." (dot) in varname to create a hierarchy, i.e.
-			\$ $self --set host.os '"linux"'
-
-	--setfile VARNAME FILENAME
-		Set an input file to show its content
-
-	--add VARNAME VALUE
-		Add VALUE as array element to VARNAME.
-		It fails if VARNAME does not exist or isn't an array.
-			 $ confighandler.sh --add my_array 20
-
-	--get VARNAME
-		Show value of the given variable.
-
-	--delete VARNAME
-		delete a variable.
-
-You can concatenate all parameters. So you can use --show before
-and after an --set action to see the differences.
-\$ $self --show --set hello '"world"' --show
-
-You get additional infos on STDERR. To get plain data send STDERR
-to /dev/null
-\$ $self --show 2>/dev/null
-
-EOH
-}
-
-# ----------------------------------------------------------------------
-#
-# MAIN
-#
-# ----------------------------------------------------------------------
-
-
-if [ ! -z $CFGSTORAGE ]; then
-	storageset "$CFGSTORAGE"
-else
-	storageset "default"
-fi
-
-if [ $# -eq 0 ]; then
-	showHelp
-	exit 0
-fi
-
-while [ $# -gt 0 ];
-do
-	case "$1" in
-		'--help' | '-h' | '-?')
-			_wd ">>> $1"
-			showHelp
-			exit 0
-			;;
-		'--version' | '-v')
-			_wd ">>> $1"
-			echo $_product v$_version
-			;;
-
-		# ----- storage
-
-		'--storage')
-			_wd ">>> $1 $2"
-			storageset "$2"
-			shift 1
-			;;
-		'--list')
-			_wd ">>> $1"
-			storagelist
-			;;
-		'--flush')
-			_wd ">>> $1"
-			storagedelete
-			;;
-
-		# ----- variables
-
-		'--set')
-			_wd ">>> $1 $2 $3"
-			varset $2 "$3"
-			shift 2
-			;;
-		'--setfile')
-			_wd ">>> $1 $2 $3"
-			varsetfile $2 "$3"
-			shift 2
-			;;
-		'--add')
-			_wd ">>> $1 $2 $3"
-			varaddvalue $2 "$3"
-			shift 2
-			;;
-		'--get')
-			_wd ">>> $1 $2"
-			vargetvalue $2
-			shift 1
-			;;
-		'--delete')
-			_wd ">>> $1 $2"
-			varremove $2
-			shift 1
-			;;
-		'--show')
-			_wd ">>> $1"
-			showstorage
-			;;
-
-		# ----- export
-
-		'--json')
-			_wd ">>> $1"
-			exportJson
-			# time exportJson
-			# time exportJson2
-			;;
-		*)
-			_we "ERROR: unknown param detected: [$1]"
-			showHelp
-			echo "Aborting ..."
-			exit 1
-	esac
-	_wd ""
-	shift 1
-
-done
-_wd "DONE"
-- 
GitLab