Mercurial > gemma
view style-templates/upload-styles.sh @ 4657:a89e4db7980b
Add delta to reference waterlevel to current depth.
If the current waterlevel is at LDC the delta is 0 and the profile is drawn unchanged.
If the current waterlevel is higher the delta adds to the measured depth.
If the current waterlevel is below the delta subtracts from the measured depth.
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Mon, 14 Oct 2019 14:44:51 +0200 |
parents | 15372dd971e9 |
children | 0098cfd602be |
line wrap: on
line source
#!/bin/bash -e # # This is Free Software under GNU Affero General Public License v >= 3.0 # without warranty, see README.md and license for details. # # SPDX-License-Identifier: AGPL-3.0-or-later # License-Filename: LICENSES/AGPL-3.0.txt # # Copyright (C) 2019 by via donau # – Österreichische Wasserstraßen-Gesellschaft mbH # Software engineering by Intevation GmbH # # Author(s): # * Sascha Wilde <wilde@intevation.de> ME=`basename "$0"` BASEDIR=`dirname "$0"` usage() { cat <<EOF $ME [OPTION]... Upload map styles to gemma. Options: -P, --g_port=GPORT connect to gemma server at GPORT. Default 8000. -g, --g_host=GHOST connect to gemma server on GHOST. Default "localhost". -u, --g_user=GUSER login to gemma as user GUSER. Default "sophie". --g_pw=GPW password for GUSER. Default "so2Phie4". --help display this help and exit EOF } fatal() { echo >&2 "$1" exit 23 } # Defaults: g_port=8000 g_host="localhost" g_user="sophie" g_pw="so2Phie4" # Parse options: OPTS=`getopt \ -l help,g_port:,g_host:,g_user:,g_pw: \ -o P:g:u: -n "$ME" -- "$@"` [ $? -eq 0 ] || { usage ; exit 1 ; } eval set -- "$OPTS" while true ; do case "$1" in --g_port|-P) g_port="$2" shift 2 ;; --g_host|-g) g_host="$2" shift 2 ;; --g_user|-u) g_user="$2" shift 2 ;; --g_pw) g_pw="$2" shift 2 ;; --help) { usage ; exit 0 ; } ;; --) shift break ;; esac done if [ $# != 0 ] ; then { usage ; exit 23 ; } fi # Main ------------------------------------------------------------ # Login to gemma server login=$(curl -f -s -S -X POST \ -d "{\"user\":\"${g_user}\",\"password\":\"${g_pw}\"}" \ "http://${g_host}:${g_port}/api/login") token=$(jq -r '.token' <<<"$login") if [ -z "$token" ] then echo "could not login to gemma server" >&2 exit 1 fi roles=$(jq -r '.roles' <<<"$login") basedir=$( dirname $( realpath "${BASH_SOURCE[0]}" )) datadir="${basedir}/." if jq -e 'any(. == "sys_admin")' <<<"$roles" > /dev/null then echo "== Configuring geoserver styles" >&2 for style in $(basename -s .sld-template $(ls $datadir/*.sld-template)) do echo "uploading $style ..." curl -f -s -S -H "X-Gemma-Auth:${token}" -X POST \ -F style=@"${datadir}/${style}.sld-template" \ "http://${g_host}:${g_port}/api/geo/style/${style}" done echo 'done.' else echo >&2 'Not authorized as sys_admin' fi