Take weather station from CLI options
[khatus.git] / bin / khatus_show
index dd59b14..5170492 100755 (executable)
@@ -6,9 +6,39 @@ BIN=$HOME/bin
 STATUS_DIR=$HOME/var/run/status
 STATUS_FILE__WIFI=$STATUS_DIR/wifi
 STATUS_FILE__ENERGY_NOTIFIED_BELLOW_HALF=$STATUS_DIR/notified_energy_bellow_half
-DISK_IO_DEVICE='dm-1'
-DISK_SPACE_DEVICE='/dev/mapper/kubuntu--vg-root'
-SCREEN_DEVICE='acpi_video0'
+while getopts ":b:d:s:i:w:" opt
+do
+    case "$opt" in
+        b)
+            SCREEN_BRIGHTNESS_DEVICE_NAME="$OPTARG"
+            ;;
+        d)
+            DISK_IO_DEVICE="$OPTARG"
+            ;;
+        s)
+            DISK_SPACE_DEVICE="$OPTARG"
+            ;;
+        i)
+            PREFIXES_OF_INTERFACES_TO_SHOW="$OPTARG"
+            ;;
+        w)
+            WEATHER_STATION_ID="$OPTARG"
+            ;;
+        \?)
+            echo "Unknown option: $OPTARG" >&2
+            exit 1
+            ;;
+        :)
+            echo "Missing argument for option: $OPTARG" >&2
+            exit 1
+            ;;
+    esac
+done
+if [ "$SCREEN_BRIGHTNESS_DEVICE_NAME" == '' ]; then echo 'Missing -b' >&2; exit 1; fi
+if [ "$DISK_IO_DEVICE" == '' ];                then echo 'Missing -d' >&2; exit 1; fi
+if [ "$DISK_SPACE_DEVICE" == '' ];             then echo 'Missing -s' >&2; exit 1; fi
+if [ "$WEATHER_STATION_ID" == '' ];            then echo 'Missing -w' >&2; exit 1; fi
+SCREEN_BRIGHTNESS_DEVICE_PATH="/sys/class/backlight/$SCREEN_BRIGHTNESS_DEVICE_NAME"
 
 
 load=$(awk '{printf("%4.2f", $1)}' /proc/loadavg)
@@ -104,7 +134,7 @@ network=$(
     ip -s addr \
     | awk \
         -v wifi_conn="$(cat $STATUS_FILE__WIFI)" \
-        -v prefixes_of_interfaces_to_show='w' \
+        -v prefixes_of_interfaces_to_show="$PREFIXES_OF_INTERFACES_TO_SHOW" \
         '
         BEGIN {
             bytes_per_unit = 1024 * 1024
@@ -278,9 +308,11 @@ volume_pactl=$(
 volume="($volume_pactl)"
 
 screen_brightness=$(
-    max=$(cat /sys/class/backlight/"$SCREEN_DEVICE"/max_brightness)
-    cur=$(cat /sys/class/backlight/"$SCREEN_DEVICE"/brightness)
-    awk -v max=$max -v cur=$cur 'BEGIN {printf("%d%%", cur/max*100)}'
+    echo -n $((
+          $(cat $SCREEN_BRIGHTNESS_DEVICE_PATH/brightness)
+        / $(cat $SCREEN_BRIGHTNESS_DEVICE_PATH/max_brightness)
+        * 100
+    ))
 )
 
 #bluetooth_status=$(
@@ -376,7 +408,11 @@ else
     rm -f "$STATUS_FILE__ENERGY_NOTIFIED_BELLOW_HALF"
 fi
 
-weather=$(awk 'NR == 1 {printf("%s°F", $1)}' ~/var/run/metar-KJFK-decoded-temp-fahrenheit)
+weather=$(
+    awk \
+        'NR == 1 {printf("%s°F", $1)}' \
+        "$HOME/var/run/metar-${WEATHER_STATION_ID}-decoded-temp-fahrenheit"
+)
 
 #signal_last_msg_age=$(
 #    ls -lt --time-style=+%s $HOME/var/lib/signal/latest_message.json \
@@ -529,7 +565,7 @@ echo \
  \
  B:$bluetooth_power\
  \
- *$screen_brightness\
+ *$screen_brightness%\
  \
  $volume\
  \
This page took 0.028098 seconds and 4 git commands to generate.