From 64bf42e4ee060c16ca913d2f8fc7e213a4751ca3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Pant=C5=AF=C4=8Dek?= Date: Sun, 16 Apr 2023 16:27:46 +0200 Subject: [PATCH] Argument parsing for fetch_fio. --- fetch_fio.sh | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/fetch_fio.sh b/fetch_fio.sh index 9787ecd..446a2fe 100644 --- a/fetch_fio.sh +++ b/fetch_fio.sh @@ -28,6 +28,74 @@ # REST API endpoint APIURI=https://www.fio.cz/ib_api/rest +# Configuration defaults - none +CONFIG_FILE=/etc/hackerbase +CFG_BANK_DIR= +CFG_APIKEYS_FILE= +ARG_BANK_DIR= +ARG_APIKEYS_FILE= + +# Argument parsing +while ! [ -z "$1" ] ; do + case "$1" in + -apikey) + ARG_APIKEYS_FILE="$2" + shift + shift + ;; + -bankdir) + ARG_BANK_DIR="$2" + shift + shift + ;; + -config) + CONFIG_FILE="$2" + shift + shift + ;; + *) + echo "Usage: $0 [-config file] [-apikey file] [-bankdir dir]" + exit 1 + ;; + esac +done + +# Configuration parsing +cat "$CONFIG_FILE" \ + | sed 's/#.*//' \ + | while read line ; do + name=${line%% *} + value=${line#* } + case "$name" in + apikeys-file) + CFG_APIKEYS_FILE="$value" + ;; + bank-dir) + CFG_BANK_DIR="$value" + ;; + esac +done + +# Configuration merging +if [ -z "$ARG_BANK_DIR" ] ; then + BANK_DIR="$CFG_BANK_DIR" +else + BANK_DIR="$ARG_BANK_DIR" +fi +if [ -z "$ARG_APIKEYS_FILE" ] ; then + APIKEYS_FILE="$CFG_APIKEYS_FILE" +else + APIKEYS_FILE="$ARG_APIKEYS_FILE" +fi +echo CONFIG_FILE "$CONFIG_FILE" +echo CFG_BANK_DIR "$CFG_BANK_DIR" +echo CFG_APIKEYS_FILE "$CFG_APIKEYS_FILE" +echo ARG_BANK_DIR "$ARG_BANK_DIR" +echo ARG_APIKEYS_FILE "$ARG_APIKEYS_FILE" +echo BANK_DIR "$BANK_DIR" +echo APIKEYS_FILE "$APIKEYS_FILE" +exit 0 + # # Very simple "logging" function (stdout should be redirected to log anyway) log() {