diff --git a/scripts/CreateRoutes.py b/scripts/CreateRoutes.py new file mode 100755 index 0000000..b04289c --- /dev/null +++ b/scripts/CreateRoutes.py @@ -0,0 +1,5 @@ +#!/usr/bin/python3 +import yaml +f = open('rules.yaml') +dohicky = yaml.safe_load(f) +f.close() \ No newline at end of file diff --git a/scripts/ReadYaml.sh b/scripts/ReadYaml.sh new file mode 100755 index 0000000..19d7a3c --- /dev/null +++ b/scripts/ReadYaml.sh @@ -0,0 +1,83 @@ +#!/usr/bin/env bash +# shellcheck disable=SC1003 + +# Based on https://gist.github.com/pkuczynski/8665367 + +parse_yaml() { + local yaml_file=$1 + local prefix=$2 + local s + local w + local fs + + s='[[:space:]]*' + w='[a-zA-Z0-9_.-]*' + fs="$(echo @|tr @ '\034')" + + ( + sed -e '/- [^\“]'"[^\']"'.*: /s|\([ ]*\)- \([[:space:]]*\)|\1-\'$'\n'' \1\2|g' | + + sed -ne '/^--/s|--||g; s|\"|\\\"|g; s/[[:space:]]*$//g;' \ + -e "/#.*[\"\']/!s| #.*||g; /^#/s|#.*||g;" \ + -e "s|^\($s\)\($w\)$s:$s\"\(.*\)\"$s\$|\1$fs\2$fs\3|p" \ + -e "s|^\($s\)\($w\)${s}[:-]$s\(.*\)$s\$|\1$fs\2$fs\3|p" | + + awk -F"$fs" '{ + indent = length($1)/2; + if (length($2) == 0) { conj[indent]="+";} else {conj[indent]="";} + vname[indent] = $2; + for (i in vname) {if (i > indent) {delete vname[i]}} + if (length($3) > 0) { + vn=""; for (i=0; i indent) {delete vname[i]}} + if (length($3) > 0) { + vn=""; for (i=0; i