-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhava_durumu.bash
75 lines (68 loc) · 2.43 KB
/
hava_durumu.bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#!/bin/bash
# Copyright (c) 2012-2015 Fatih Bostancı <faopera@gmail.com>
# GPLv3
# v1.11
echo güncel değil; exit 1
# şehir adı girilirse $1 önemsenmeyecek.
SEHIR=''
degerler=()
sehirler=( ADANA ADIYAMAN AFYONKARAHISAR AGRI AMASYA ANKARA ANTALYA ARTVIN AYDIN
BALIKESIR BILECIK BINGOL BITLIS BOLU BURDUR BURSA CANAKKALE CANKIRI
CORUM DENIZLI DIYARBAKIR EDIRNE ELAZIG ERZINCAN ERZURUM ESKISEHIR
GAZIANTEP GIRESUN GUMUSHANE HAKKARI HATAY ISPARTA MERSIN ISTANBUL
IZMIR KARS KASTAMONU KAYSERI KIRKLARELI KIRSEHIR KOCAELI KONYA
KUTAHYA MALATYA MANISA KAHRAMANMARAS MARDIN MUGLA MUS NEVSEHIR
NIGDE ORDU RIZE SAKARYA SAMSUN SIIRT SINOP SIVAS TEKIRDAG TOKAT
TRABZON TUNCELI SANLIURFA USAK VAN YOZGAT ZONGULDAK AKSARAY BAYBURT
KARAMAN KIRIKKALE BATMAN SIRNAK BARTIN ARDAHAN IGDIR YALOVA KARABUK
KILIS OSMANIYE DUZCE )
if [[ -n ${SEHIR} ]]
then
sehir="${SEHIR}"
elif [[ -n $1 ]]
then
[[ $1 =~ ^0 ]] && s=$(sed 's:^[0]*::' <<<$1) || s=$1
if [[ -n $(tr -d 0-9 <<<$s) ]]
then
printf 'şehir trafik kodunu giriniz.\n' >&2
exit 1
elif [[ $s -gt ${#sehirler[@]} || $s -eq 0 ]]
then
printf 'şehir trafik kodunu giriniz.\n' >&2
exit 1
fi
sehir=${sehirler[((s-1))]}
else
printf 'şehir trafik kodunu giriniz.\n' >&2
exit 1
fi
wget --quiet --timeout=15 --tries=3 -O - \
"https://mgm.gov.tr/?il=${sehir}" | sed -n \
'/<div id="divSonDurum">/,/<\/div>/ {
s:<td title = "\(.*\)" row.*>:\1:p
s:<td.*class="son.*">\(.*\)<br .>\(.*\)</td>:\1\n\2:p
s:<td><em class="renk.*">\(.*\)\&.*:\1°C:p
s:<td><em>\(.*\)</em></td>:\1:p
s:<td.*alt="\(.*\)" /> <br /><em>\(.*\)</em></td>:\1\n\2:p
}' > /tmp/hava-sonuclari-$$
set -e
while read -r satir
do
degerler+=( "${satir}" )
done < /tmp/hava-sonuclari-$$
rm -f /tmp/hava-sonuclari-$$ &>/dev/null
[[ ${degerler[2]} =~ ^Güncel ]] && {
degerler[1]='Güncel Bilgi Bulunamadı!'
degerler[2]=''
}
printf '%-20s%b\n%-19s%b\n%-21s%b\n%-19s%b\n%-21s%b\n%-22s%b\n%-22s%b\n%-25s%b\n%-20s%b\n' \
'Şehir' "= ${sehir}" \
'Durum' "= ${degerler[0]}" \
'Sıcaklık' "= ${degerler[3]}" \
'Nem' "= ${degerler[4]}" \
'Basınç' "= ${degerler[7]}" \
'Rüzgar hızı' "= ${degerler[6]}" \
'Rüzgar yönü' "= ${degerler[5]}" \
'Görüş uzaklığı' "= ${degerler[8]}" \
'Son güncelleme' "= ${degerler[1]} ${degerler[2]}"
# vim: set ts=2 sw=2 et: