From patchwork Mon Jul 3 22:37:18 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [RFC] nodewatcher: consolidate uci calls From: Tobias Klaus X-Patchwork-Id: 366 Message-Id: <20170703223718.21346-1-tk+ff@meskal.net> To: franken-dev@freifunk.net Date: Tue, 4 Jul 2017 00:37:18 +0200 * this makes it easier to reuse on decentral gateways * fix errors if nodewatcher is not run on openwrt/lede --- .../fff/fff-nodewatcher/files/usr/sbin/nodewatcher | 29 ++++++++++++++-------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher index f9d6e65..296b421 100755 --- a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher +++ b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher @@ -20,6 +20,17 @@ else . "$(dirname "$0")/nodewatcher_config" fi +if [ -f /etc/config/system ];then + description="$(uci get system.@system[0].description)" + latitude="$(uci get system.@system[0].latitude)" + longitude="$(uci get system.@system[0].longitude)" + position_comment="$(uci get system.@system[0].position_comment)" + contact="$(uci get system.@system[0].contact)" + hood="$(uci -q get "system.@system[0].hood")" +else + . "$(dirname "$0")/system_config" +fi + if [ "$SCRIPT_ERROR_LEVEL" -gt "1" ]; then err() { echo "$1" >> "$SCRIPT_LOGFILE" @@ -56,20 +67,15 @@ crawl() { #Get system data from other locations err "$(date): Collecting basic system status data" hostname="$(cat /proc/sys/kernel/hostname)" - description="$(uci get system.@system[0].description)" if [ -n "$description" ]; then description="" fi - latitude="$(uci get system.@system[0].latitude)" - longitude="$(uci get system.@system[0].longitude)" if [ -n "$longitude" -a -n "$latitude" ]; then geo="$latitude$longitude"; fi - position_comment="$(uci get system.@system[0].position_comment)" if [ -n "$position_comment" ]; then position_comment="" fi - contact="$(uci get system.@system[0].contact)" if [ -n "$contact" ]; then contact="$contact" fi @@ -86,7 +92,7 @@ crawl() { /system type/ { printf ""$2"" } /platform/ { printf ""$2"" } ' /proc/cpuinfo) - model="$(cat /var/sysinfo/model)" + test -f /var/sysinfo/model && model="$(cat /var/sysinfo/model)" local_time="$(date +%s)" load=$(awk '{ printf ""$3""$4"" }' /proc/loadavg) @@ -117,7 +123,7 @@ crawl() { #DISTRIB_CODENAME="attitude_adjustment" #DISTRIB_TARGET="atheros/generic" #DISTRIB_DESCRIPTION="OpenWrt Attitude Adjustment 12.09-rc1" - . /etc/openwrt_release + test -f /etc/openwrt_release && . /etc/openwrt_release distname=$DISTRIB_ID distversion=$DISTRIB_RELEASE @@ -126,7 +132,8 @@ crawl() { #BUILD_DATE="build date: Di 29. Jan 19:33:34 CET 2013" #OPENWRT_CORE_REVISION="35298" #OPENWRT_FEEDS_PACKAGES_REVISION="35298" - . /etc/firmware_release + + test -f /etc/firmware_release && . /etc/firmware_release SYSTEM_DATA="online" SYSTEM_DATA=$SYSTEM_DATA"$status_text" @@ -135,10 +142,10 @@ crawl() { SYSTEM_DATA=$SYSTEM_DATA"${geo}" SYSTEM_DATA=$SYSTEM_DATA"${position_comment}" SYSTEM_DATA=$SYSTEM_DATA"${contact}" - if [ "$(uci -q get "system.@system[0].hood")" ] + if [ "${hood}" ] then - SYSTEM_DATA=$SYSTEM_DATA"$(uci -q get "system.@system[0].hood")" - fi + SYSTEM_DATA=$SYSTEM_DATA"${hood}" + fi SYSTEM_DATA=$SYSTEM_DATA"$distname" SYSTEM_DATA=$SYSTEM_DATA"$distversion" SYSTEM_DATA=$SYSTEM_DATA"$cpu"