Artifact
6f4f35cea9a2444b1148ff9bbfcbf302f4199f30a2dd0f0ec20a608df995378e:
Attachment "buienradar.tcl" to
ticket [338d979f5b]
added by
sbron
2020-07-24 20:07:39.
(unpublished)
0000: 23 21 2f 75 73 72 2f 62 69 6e 2f 74 63 6c 73 68 #!/usr/bin/tclsh
0010: 0a 0a 70 61 63 6b 61 67 65 20 72 65 71 75 69 72 ..package requir
0020: 65 20 68 74 74 70 0a 70 61 63 6b 61 67 65 20 72 e http.package r
0030: 65 71 75 69 72 65 20 74 6c 73 0a 0a 68 74 74 70 equire tls..http
0040: 3a 3a 72 65 67 69 73 74 65 72 20 68 74 74 70 73 ::register https
0050: 20 34 34 33 20 74 6c 73 3a 3a 73 6f 63 6b 65 74 443 tls::socket
0060: 0a 0a 73 65 74 20 75 72 6c 20 68 74 74 70 73 3a ..set url https:
0070: 2f 2f 69 6d 61 67 65 2e 62 75 69 65 6e 72 61 64 //image.buienrad
0080: 61 72 2e 6e 6c 2f 32 2e 30 2f 69 6d 61 67 65 2f ar.nl/2.0/image/
0090: 73 70 72 69 74 65 2f 52 61 64 61 72 4d 61 70 52 sprite/RadarMapR
00a0: 61 69 6e 4e 4c 0a 0a 73 65 74 20 74 6f 6b 20 5b ainNL..set tok [
00b0: 68 74 74 70 3a 3a 67 65 74 75 72 6c 20 24 75 72 http::geturl $ur
00c0: 6c 5d 0a 73 65 74 20 63 6f 64 65 20 5b 68 74 74 l].set code [htt
00d0: 70 3a 3a 6e 63 6f 64 65 20 24 74 6f 6b 5d 0a 69 p::ncode $tok].i
00e0: 66 20 7b 24 63 6f 64 65 20 69 6e 20 7b 33 30 31 f {$code in {301
00f0: 20 33 30 32 7d 7d 20 7b 0a 20 20 20 20 73 65 74 302}} {. set
0100: 20 73 74 72 20 5b 6c 73 65 61 72 63 68 20 2d 6e str [lsearch -n
0110: 6f 63 61 73 65 20 2d 65 78 61 63 74 20 2d 69 6e ocase -exact -in
0120: 6c 69 6e 65 20 5b 68 74 74 70 3a 3a 6d 65 74 61 line [http::meta
0130: 20 24 74 6f 6b 5d 20 6c 6f 63 61 74 69 6f 6e 5d $tok] location]
0140: 0a 20 20 20 20 73 65 74 20 6c 6f 63 20 5b 64 69 . set loc [di
0150: 63 74 20 67 65 74 20 5b 68 74 74 70 3a 3a 6d 65 ct get [http::me
0160: 74 61 20 24 74 6f 6b 5d 20 24 73 74 72 5d 0a 20 ta $tok] $str].
0170: 20 20 20 68 74 74 70 3a 3a 63 6c 65 61 6e 75 70 http::cleanup
0180: 20 24 74 6f 6b 0a 20 20 20 20 73 65 74 20 74 6f $tok. set to
0190: 6b 20 5b 68 74 74 70 3a 3a 67 65 74 75 72 6c 20 k [http::geturl
01a0: 24 6c 6f 63 5d 0a 20 20 20 20 73 65 74 20 63 6f $loc]. set co
01b0: 64 65 20 5b 68 74 74 70 3a 3a 6e 63 6f 64 65 20 de [http::ncode
01c0: 24 74 6f 6b 5d 0a 7d 0a 64 69 63 74 20 66 6f 72 $tok].}.dict for
01d0: 20 7b 6b 65 79 20 76 61 6c 7d 20 5b 68 74 74 70 {key val} [http
01e0: 3a 3a 6d 65 74 61 20 24 74 6f 6b 5d 20 7b 0a 20 ::meta $tok] {.
01f0: 20 20 20 70 75 74 73 20 22 24 6b 65 79 20 24 76 puts "$key $v
0200: 61 6c 22 0a 7d 0a 73 65 74 20 66 20 5b 6f 70 65 al".}.set f [ope
0210: 6e 20 2f 74 6d 70 2f 62 75 69 65 6e 72 61 64 61 n /tmp/buienrada
0220: 72 2e 70 6e 67 20 77 62 5d 0a 70 75 74 73 20 2d r.png wb].puts -
0230: 6e 6f 6e 65 77 6c 69 6e 65 20 24 66 20 5b 68 74 nonewline $f [ht
0240: 74 70 3a 3a 64 61 74 61 20 24 74 6f 6b 5d 0a 68 tp::data $tok].h
0250: 74 74 70 3a 3a 63 6c 65 61 6e 75 70 20 24 74 6f ttp::cleanup $to
0260: 6b 0a k.