URI: 
       Spruce METAR. - annna - Annna the nice friendly bot.
  HTML git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/annna/
   DIR Log
   DIR Files
   DIR Refs
   DIR Tags
   DIR README
       ---
   DIR commit 4b9dce6013820f08b1fda84acd9603a9f56817c2
   DIR parent 906b16d25a5f76b1d4032aab59fbc5752ea1d712
  HTML Author: eidolon <?>
       Date:   Thu, 10 Oct 2024 06:24:54 -0400
       
       Spruce METAR.
       
       Signed-off-by: Annna Robert-Houdin <annna@bitreich.org>
       
       Diffstat:
         M metar                               |      27 +++++++++++++++------------
       
       1 file changed, 15 insertions(+), 12 deletions(-)
       ---
   DIR diff --git a/metar b/metar
       @@ -1,16 +1,20 @@
        #!/bin/sh
        
       -if ! id=$(printf '%s\n' "$1" | grep '^[A-Za-z]\{4\}$'); then
       -    if ! id=$(printf '%s\n' "$1" | grep '^[A-Za-z]\{3\}$'); then
       -        printf '%s\n' "invalid ICAO 7910 airport code."
       -        exit 1
       -    fi
       -    id="$(grep ",${1}," /home/annna/bin/modules/airport-codes/data/airport-codes.csv \
       -            | head -n 1 \
       -        | cut -d',' -f 1)"
       -    if [ -z "${id}" ]; then
       -        printf '%s\n' "invalid ICAO 7910 airport code."
       -        exit 1
       +iata2icao() {
       +    csv="/home/annna/bin/modules/airport-codes/data/airport-codes.csv"
       +    awk -v IATA="$1" --csv 'BEGIN { IATA = toupper(IATA) } $10 == IATA { print $1; exit }' "$csv"
       +}
       +
       +if ! id=$(printf '%s\n' "$1" | grep '^[A-Za-z]\{3,4\}$'); then
       +    printf '%s\n' "invalid IATA/ICAO code."
       +    exit 1
       +fi
       +
       +if [ "${#id}" = 3 ]; then
       +    id=$(iata2icao "$id")
       +    if [ -z "$id" ]; then
       +        printf '%s\n' "invalid IATA code."
       +        exit 1
            fi
        fi
        
       @@ -24,4 +28,3 @@ if [ -z "$metar" ]; then
        fi
        
        printf '%s\n' "$metar"
       -