annotate weather.tcl @ 430:8efbb045d44d

weather: Implement searching for nearest of measurement stations based on given lat/long coordinates. The distance calculation is naive pythagoraean one, should be changed to "Great circle distance" https://en.wikipedia.org/wiki/Great-circle_distance. (C implementation already done, just needs TCL-ization.)
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 08 Jan 2017 05:08:38 +0200
parents 1ada0cb9bdd9
children 3c816fdc302f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
1 ##########################################################################
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
2 #
415
ff932030a9b3 weather: Bump version.
Matti Hamalainen <ccr@tnsp.org>
parents: 414
diff changeset
3 # Weather v0.9.5 by Matti 'ccr' Hamalainen <ccr@tnsp.org>
408
8abbdee71cf5 weather: Bump copyright.
Matti Hamalainen <ccr@tnsp.org>
parents: 365
diff changeset
4 # (C) Copyright 2014-2017 Tecnic Software productions (TNSP)
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
5 #
183
4abb7a940e24 weather: Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 174
diff changeset
6 # Requires data fetcher to be run as a cronjob, see fetch_weather.pl
4abb7a940e24 weather: Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 174
diff changeset
7 # for more information.
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
8 #
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
9 # This script is freely distributable under GNU GPL (version 2) license.
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
10 #
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
11 ##########################################################################
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
12
273
38a5bce4b078 weather: Move configuration to separate file.
Matti Hamalainen <ccr@tnsp.org>
parents: 248
diff changeset
13 ### The configuration should be in config.weather in same directory
38a5bce4b078 weather: Move configuration to separate file.
Matti Hamalainen <ccr@tnsp.org>
parents: 248
diff changeset
14 ### as this script. Or change the line below to point where ever
38a5bce4b078 weather: Move configuration to separate file.
Matti Hamalainen <ccr@tnsp.org>
parents: 248
diff changeset
15 ### you wish. See "config.weather.example" for an example config file.
38a5bce4b078 weather: Move configuration to separate file.
Matti Hamalainen <ccr@tnsp.org>
parents: 248
diff changeset
16 source [file dirname [info script]]/config.weather
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
17
344
25fc5a2b42ae weather: Use utillib for matching enabled channels.
Matti Hamalainen <ccr@tnsp.org>
parents: 335
diff changeset
18 ### Required utillib.tcl
25fc5a2b42ae weather: Use utillib for matching enabled channels.
Matti Hamalainen <ccr@tnsp.org>
parents: 335
diff changeset
19 source [file dirname [info script]]/utillib.tcl
25fc5a2b42ae weather: Use utillib for matching enabled channels.
Matti Hamalainen <ccr@tnsp.org>
parents: 335
diff changeset
20
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
21
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
22 ##########################################################################
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
23 # No need to look below this line
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
24 ##########################################################################
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
25 set weather_name "Weather"
415
ff932030a9b3 weather: Bump version.
Matti Hamalainen <ccr@tnsp.org>
parents: 414
diff changeset
26 set weather_version "0.9.5"
184
a496dc87a7c1 weather: Bump version.
Matti Hamalainen <ccr@tnsp.org>
parents: 183
diff changeset
27
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
28
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
29 ### Initialization messages
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
30 package require textutil::split
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
31 set weather_message "$weather_name v$weather_version by ccr/TNSP"
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
32 putlog "$weather_message"
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
33
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
34
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
35 #-------------------------------------------------------------------------
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
36 proc weather_log {arg} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
37 global weather_logmsg weather_name
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
38 if {$weather_logmsg != 0} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
39 putlog "$weather_name: $arg"
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
40 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
41 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
42
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
43
426
84d3d7abeb8a Add utl_msg_do() function into utillib and refactor out similar things in quotedb and weather scripts.
Matti Hamalainen <ccr@tnsp.org>
parents: 421
diff changeset
44 proc weather_msg {apublic anick achan amsg {aargs {}}} {
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
45 global weather_preferredmsg
285
259f093c9503 weather: Make some more messages configurable.
Matti Hamalainen <ccr@tnsp.org>
parents: 280
diff changeset
46 set narg 1
259f093c9503 weather: Make some more messages configurable.
Matti Hamalainen <ccr@tnsp.org>
parents: 280
diff changeset
47 foreach marg $aargs {
259f093c9503 weather: Make some more messages configurable.
Matti Hamalainen <ccr@tnsp.org>
parents: 280
diff changeset
48 set amsg [string map [list "%$narg" $marg] $amsg]
259f093c9503 weather: Make some more messages configurable.
Matti Hamalainen <ccr@tnsp.org>
parents: 280
diff changeset
49 incr narg
259f093c9503 weather: Make some more messages configurable.
Matti Hamalainen <ccr@tnsp.org>
parents: 280
diff changeset
50 }
426
84d3d7abeb8a Add utl_msg_do() function into utillib and refactor out similar things in quotedb and weather scripts.
Matti Hamalainen <ccr@tnsp.org>
parents: 421
diff changeset
51 utl_msg_do $weather_preferredmsg $apublic $anick $achan $amsg
285
259f093c9503 weather: Make some more messages configurable.
Matti Hamalainen <ccr@tnsp.org>
parents: 280
diff changeset
52 }
259f093c9503 weather: Make some more messages configurable.
Matti Hamalainen <ccr@tnsp.org>
parents: 280
diff changeset
53
259f093c9503 weather: Make some more messages configurable.
Matti Hamalainen <ccr@tnsp.org>
parents: 280
diff changeset
54
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
55 proc weather_usage {apublic anick achan amsg} {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
56 global weather_msg_usage_prefix_1 weather_msg_usage_prefix_2
429
1ada0cb9bdd9 weather: Some stray weather_msg_do calls were left in, fix those.
Matti Hamalainen <ccr@tnsp.org>
parents: 426
diff changeset
57 global weather_preferredmsg
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
58 set nline 0
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
59 foreach aline [split $amsg "\n"] {
203
28ee3578a6d1 Weather: Add support for usage messages without default prefix.
Matti Hamalainen <ccr@tnsp.org>
parents: 201
diff changeset
60 if {[string range $aline 0 1] == ":"} {
429
1ada0cb9bdd9 weather: Some stray weather_msg_do calls were left in, fix those.
Matti Hamalainen <ccr@tnsp.org>
parents: 426
diff changeset
61 utl_msg_do $weather_preferredmsg $apublic $anick $achan $aline
203
28ee3578a6d1 Weather: Add support for usage messages without default prefix.
Matti Hamalainen <ccr@tnsp.org>
parents: 201
diff changeset
62 } elseif {$nline == 0} {
429
1ada0cb9bdd9 weather: Some stray weather_msg_do calls were left in, fix those.
Matti Hamalainen <ccr@tnsp.org>
parents: 426
diff changeset
63 utl_msg_do $weather_preferredmsg $apublic $anick $achan "$weather_msg_usage_prefix_1$aline"
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
64 } else {
429
1ada0cb9bdd9 weather: Some stray weather_msg_do calls were left in, fix those.
Matti Hamalainen <ccr@tnsp.org>
parents: 426
diff changeset
65 utl_msg_do $weather_preferredmsg $apublic $anick $achan "$weather_msg_usage_prefix_2$aline"
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
66 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
67 incr nline
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
68 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
69 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
70
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
71
161
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
72 proc weather_valid_user {uhand} {
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
73 if {$uhand != "" && $uhand != "{}" && $uhand != "*"} {
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
74 return 1
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
75 }
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
76 return 0
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
77 }
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
78
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
79
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
80 #-------------------------------------------------------------------------
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
81 proc weather_load_aliases {} {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
82 global weather_aliasfile weather_aliases
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
83
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
84 # Create dict
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
85 array unset weather_aliases
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
86 array set weather_aliases {}
421
0f7524550aa2 weather: Cosmetics, stray whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 419
diff changeset
87
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
88 # Read datafile
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
89 if {![catch {set ufile [open $weather_aliasfile r 0600]} uerrmsg]} {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
90 while {![eof $ufile]} {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
91 gets $ufile uline
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
92 set udata [split $uline "|"]
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
93 if {[llength $udata] == 2} {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
94 set weather_aliases([lindex $udata 0]) [lindex $udata 1]
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
95 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
96 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
97 close $ufile
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
98 } else {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
99 weather_log "Could not open data file: $uerrmsg"
161
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
100 }
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
101 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
102
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
103
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
104 proc weather_save_aliases {} {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
105 global weather_aliasfile weather_aliases
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
106
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
107 if {![catch {set ufile [open $weather_aliasfile w 0600]} uerrmsg]} {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
108 foreach {ukey uvalue} [array get weather_aliases] {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
109 puts $ufile "$ukey|$uvalue"
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
110 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
111 close $ufile
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
112 } else {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
113 weather_log "Could not open data file: $uerrmsg"
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
114 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
115 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
116
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
117
171
5434903331df weather: Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 167
diff changeset
118 # If there exists an alias for given string/name, return it
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
119 proc weather_get_alias {uname} {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
120 global weather_aliases
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
121 set utmp [array get weather_aliases $uname]
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
122 if {[llength $utmp] > 0} {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
123 return [lindex $utmp 1]
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
124 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
125 return $uname
161
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
126 }
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
127
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
128
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
129 #-------------------------------------------------------------------------
171
5434903331df weather: Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 167
diff changeset
130 # Produce one location of weather data as a string
418
e904b453a06a weather: Show weather station coordinates and Google Maps link in the station list search.
Matti Hamalainen <ccr@tnsp.org>
parents: 415
diff changeset
131 proc weather_get_str {udata umsg} {
285
259f093c9503 weather: Make some more messages configurable.
Matti Hamalainen <ccr@tnsp.org>
parents: 280
diff changeset
132
259f093c9503 weather: Make some more messages configurable.
Matti Hamalainen <ccr@tnsp.org>
parents: 280
diff changeset
133 array unset uvals
287
748c6b44f572 weather: Fix translation routine.
Matti Hamalainen <ccr@tnsp.org>
parents: 286
diff changeset
134 set uvals(station) [lindex $udata 0]
748c6b44f572 weather: Fix translation routine.
Matti Hamalainen <ccr@tnsp.org>
parents: 286
diff changeset
135 set uvals(type) [lindex $udata 1]
414
d623652df6b5 fetch_weather / weather: Add weather measurement station location data (GPS WGS-84 lat/long/height) to weather cache. Not used in weather.tcl yet, tho.
Matti Hamalainen <ccr@tnsp.org>
parents: 409
diff changeset
136 set uvals(c_lat) [lindex $udata 2]
419
3566fdca974b weather: Rename a string token.
Matti Hamalainen <ccr@tnsp.org>
parents: 418
diff changeset
137 set uvals(c_lng) [lindex $udata 3]
414
d623652df6b5 fetch_weather / weather: Add weather measurement station location data (GPS WGS-84 lat/long/height) to weather cache. Not used in weather.tcl yet, tho.
Matti Hamalainen <ccr@tnsp.org>
parents: 409
diff changeset
138 set uvals(c_height) [lindex $udata 4]
d623652df6b5 fetch_weather / weather: Add weather measurement station location data (GPS WGS-84 lat/long/height) to weather cache. Not used in weather.tcl yet, tho.
Matti Hamalainen <ccr@tnsp.org>
parents: 409
diff changeset
139 set uvals(vtime) [lindex $udata 5]
360
2f7f18371b65 weather: Adjust time handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 358
diff changeset
140
2f7f18371b65 weather: Adjust time handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 358
diff changeset
141 if {[expr [clock seconds] - $uvals(vtime)] < 3600} {
357
b1e7ffeaacef weather: Adjust time output handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 345
diff changeset
142 set uvals(ctime) [clock format $uvals(vtime) -format "%H:%M"]
b1e7ffeaacef weather: Adjust time output handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 345
diff changeset
143 } else {
360
2f7f18371b65 weather: Adjust time handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 358
diff changeset
144 set uvals(ctime) [clock format $uvals(vtime) -format "%H:%M (%d.%m.%Y)"]
357
b1e7ffeaacef weather: Adjust time output handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 345
diff changeset
145 }
b1e7ffeaacef weather: Adjust time output handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 345
diff changeset
146
414
d623652df6b5 fetch_weather / weather: Add weather measurement station location data (GPS WGS-84 lat/long/height) to weather cache. Not used in weather.tcl yet, tho.
Matti Hamalainen <ccr@tnsp.org>
parents: 409
diff changeset
147 set uvals(temp) [lindex $udata 6]
285
259f093c9503 weather: Make some more messages configurable.
Matti Hamalainen <ccr@tnsp.org>
parents: 280
diff changeset
148
238
a1d6e2d8789e Add new data from FMI service and change datafile format.
Matti Hamalainen <ccr@tnsp.org>
parents: 233
diff changeset
149 if {[lindex $udata 1] == 0} {
414
d623652df6b5 fetch_weather / weather: Add weather measurement station location data (GPS WGS-84 lat/long/height) to weather cache. Not used in weather.tcl yet, tho.
Matti Hamalainen <ccr@tnsp.org>
parents: 409
diff changeset
150 set uvals(road_temp) [lindex $udata 7]
d623652df6b5 fetch_weather / weather: Add weather measurement station location data (GPS WGS-84 lat/long/height) to weather cache. Not used in weather.tcl yet, tho.
Matti Hamalainen <ccr@tnsp.org>
parents: 409
diff changeset
151 set uvals(weather1) [lindex $udata 8]
d623652df6b5 fetch_weather / weather: Add weather measurement station location data (GPS WGS-84 lat/long/height) to weather cache. Not used in weather.tcl yet, tho.
Matti Hamalainen <ccr@tnsp.org>
parents: 409
diff changeset
152 set uvals(weather2) [lindex $udata 9]
287
748c6b44f572 weather: Fix translation routine.
Matti Hamalainen <ccr@tnsp.org>
parents: 286
diff changeset
153 } else {
414
d623652df6b5 fetch_weather / weather: Add weather measurement station location data (GPS WGS-84 lat/long/height) to weather cache. Not used in weather.tcl yet, tho.
Matti Hamalainen <ccr@tnsp.org>
parents: 409
diff changeset
154 set uvals(humidity) [lindex $udata 7]
d623652df6b5 fetch_weather / weather: Add weather measurement station location data (GPS WGS-84 lat/long/height) to weather cache. Not used in weather.tcl yet, tho.
Matti Hamalainen <ccr@tnsp.org>
parents: 409
diff changeset
155 set uvals(wind_speed) [lindex $udata 8]
d623652df6b5 fetch_weather / weather: Add weather measurement station location data (GPS WGS-84 lat/long/height) to weather cache. Not used in weather.tcl yet, tho.
Matti Hamalainen <ccr@tnsp.org>
parents: 409
diff changeset
156 set uvals(cloud_cover) [lindex $udata 9]
287
748c6b44f572 weather: Fix translation routine.
Matti Hamalainen <ccr@tnsp.org>
parents: 286
diff changeset
157 }
748c6b44f572 weather: Fix translation routine.
Matti Hamalainen <ccr@tnsp.org>
parents: 286
diff changeset
158
748c6b44f572 weather: Fix translation routine.
Matti Hamalainen <ccr@tnsp.org>
parents: 286
diff changeset
159 set astr ""
418
e904b453a06a weather: Show weather station coordinates and Google Maps link in the station list search.
Matti Hamalainen <ccr@tnsp.org>
parents: 415
diff changeset
160 foreach aitem $umsg {
287
748c6b44f572 weather: Fix translation routine.
Matti Hamalainen <ccr@tnsp.org>
parents: 286
diff changeset
161 set atmp $aitem
748c6b44f572 weather: Fix translation routine.
Matti Hamalainen <ccr@tnsp.org>
parents: 286
diff changeset
162 foreach {akey aval} [array get uvals] {
748c6b44f572 weather: Fix translation routine.
Matti Hamalainen <ccr@tnsp.org>
parents: 286
diff changeset
163 if {$aval != ""} {
748c6b44f572 weather: Fix translation routine.
Matti Hamalainen <ccr@tnsp.org>
parents: 286
diff changeset
164 set atmp [string map [list "@${akey}@" $aval] $atmp]
748c6b44f572 weather: Fix translation routine.
Matti Hamalainen <ccr@tnsp.org>
parents: 286
diff changeset
165 }
285
259f093c9503 weather: Make some more messages configurable.
Matti Hamalainen <ccr@tnsp.org>
parents: 280
diff changeset
166 }
418
e904b453a06a weather: Show weather station coordinates and Google Maps link in the station list search.
Matti Hamalainen <ccr@tnsp.org>
parents: 415
diff changeset
167 if {$atmp != $aitem || [string first "@" $aitem] < 0} {
287
748c6b44f572 weather: Fix translation routine.
Matti Hamalainen <ccr@tnsp.org>
parents: 286
diff changeset
168 append astr $atmp
285
259f093c9503 weather: Make some more messages configurable.
Matti Hamalainen <ccr@tnsp.org>
parents: 280
diff changeset
169 }
238
a1d6e2d8789e Add new data from FMI service and change datafile format.
Matti Hamalainen <ccr@tnsp.org>
parents: 233
diff changeset
170 }
285
259f093c9503 weather: Make some more messages configurable.
Matti Hamalainen <ccr@tnsp.org>
parents: 280
diff changeset
171
418
e904b453a06a weather: Show weather station coordinates and Google Maps link in the station list search.
Matti Hamalainen <ccr@tnsp.org>
parents: 415
diff changeset
172 return $astr
161
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
173 }
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
174
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
175
171
5434903331df weather: Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 167
diff changeset
176 # Get data by location key
279
f6dc673adfa1 weather: Reorder some function arguments.
Matti Hamalainen <ccr@tnsp.org>
parents: 273
diff changeset
177 proc weather_get_by_key {ukey} {
418
e904b453a06a weather: Show weather station coordinates and Google Maps link in the station list search.
Matti Hamalainen <ccr@tnsp.org>
parents: 415
diff changeset
178 global weather_data weather_msg_result
e904b453a06a weather: Show weather station coordinates and Google Maps link in the station list search.
Matti Hamalainen <ccr@tnsp.org>
parents: 415
diff changeset
179 return [weather_get_str $weather_data($ukey) $weather_msg_result]
161
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
180 }
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
181
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
182
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
183 #-------------------------------------------------------------------------
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
184 proc weather_update {} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
185 global weather_datafile weather_data
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
186
172
2c89e47739e8 weather: Change weather data loading to not discard current data if data
Matti Hamalainen <ccr@tnsp.org>
parents: 171
diff changeset
187 # Check if we can open the weather data file
2c89e47739e8 weather: Change weather data loading to not discard current data if data
Matti Hamalainen <ccr@tnsp.org>
parents: 171
diff changeset
188 if {![catch {set ufile [open $weather_datafile r 0600]} uerrmsg]} {
2c89e47739e8 weather: Change weather data loading to not discard current data if data
Matti Hamalainen <ccr@tnsp.org>
parents: 171
diff changeset
189 # Create dict
2c89e47739e8 weather: Change weather data loading to not discard current data if data
Matti Hamalainen <ccr@tnsp.org>
parents: 171
diff changeset
190 array unset weather_data
2c89e47739e8 weather: Change weather data loading to not discard current data if data
Matti Hamalainen <ccr@tnsp.org>
parents: 171
diff changeset
191 array set weather_data {}
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
192
172
2c89e47739e8 weather: Change weather data loading to not discard current data if data
Matti Hamalainen <ccr@tnsp.org>
parents: 171
diff changeset
193 set wtemp_min_val 500000
2c89e47739e8 weather: Change weather data loading to not discard current data if data
Matti Hamalainen <ccr@tnsp.org>
parents: 171
diff changeset
194 set wtemp_max_val -500000
2c89e47739e8 weather: Change weather data loading to not discard current data if data
Matti Hamalainen <ccr@tnsp.org>
parents: 171
diff changeset
195 set wtemp_min_key ""
2c89e47739e8 weather: Change weather data loading to not discard current data if data
Matti Hamalainen <ccr@tnsp.org>
parents: 171
diff changeset
196 set wtemp_max_key ""
2c89e47739e8 weather: Change weather data loading to not discard current data if data
Matti Hamalainen <ccr@tnsp.org>
parents: 171
diff changeset
197
2c89e47739e8 weather: Change weather data loading to not discard current data if data
Matti Hamalainen <ccr@tnsp.org>
parents: 171
diff changeset
198 # Read in the data
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
199 while {![eof $ufile]} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
200 gets $ufile uline
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
201 set udata [split $uline "|"]
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
202 if {[llength $udata] > 0} {
414
d623652df6b5 fetch_weather / weather: Add weather measurement station location data (GPS WGS-84 lat/long/height) to weather cache. Not used in weather.tcl yet, tho.
Matti Hamalainen <ccr@tnsp.org>
parents: 409
diff changeset
203 set utemp [lindex $udata 6]
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
204 set ukey [lindex $udata 0]
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
205
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
206 set weather_data($ukey) $udata
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
207
421
0f7524550aa2 weather: Cosmetics, stray whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 419
diff changeset
208 if {[string is double -strict $utemp]} {
161
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
209 if {$utemp < $wtemp_min_val} {
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
210 set wtemp_min_key $ukey
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
211 set wtemp_min_val $utemp
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
212 }
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
213 if {$utemp > $wtemp_max_val} {
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
214 set wtemp_max_key $ukey
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
215 set wtemp_max_val $utemp
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
216 }
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
217 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
218 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
219 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
220 close $ufile
421
0f7524550aa2 weather: Cosmetics, stray whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 419
diff changeset
221
334
088bb2621595 weather: Do not attempt to access weather data through unset / invalid
Matti Hamalainen <ccr@tnsp.org>
parents: 287
diff changeset
222 # Store min/max
088bb2621595 weather: Do not attempt to access weather data through unset / invalid
Matti Hamalainen <ccr@tnsp.org>
parents: 287
diff changeset
223 if {$wtemp_min_key != "" && $wtemp_max_key != ""} {
088bb2621595 weather: Do not attempt to access weather data through unset / invalid
Matti Hamalainen <ccr@tnsp.org>
parents: 287
diff changeset
224 set weather_data(w_min) $weather_data($wtemp_min_key)
088bb2621595 weather: Do not attempt to access weather data through unset / invalid
Matti Hamalainen <ccr@tnsp.org>
parents: 287
diff changeset
225 set weather_data(w_max) $weather_data($wtemp_max_key)
088bb2621595 weather: Do not attempt to access weather data through unset / invalid
Matti Hamalainen <ccr@tnsp.org>
parents: 287
diff changeset
226 } else {
088bb2621595 weather: Do not attempt to access weather data through unset / invalid
Matti Hamalainen <ccr@tnsp.org>
parents: 287
diff changeset
227 set weather_data(w_min) 0
088bb2621595 weather: Do not attempt to access weather data through unset / invalid
Matti Hamalainen <ccr@tnsp.org>
parents: 287
diff changeset
228 set weather_data(w_max) 0
088bb2621595 weather: Do not attempt to access weather data through unset / invalid
Matti Hamalainen <ccr@tnsp.org>
parents: 287
diff changeset
229 }
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
230 } else {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
231 weather_log "Could not open data file: $uerrmsg"
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
232 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
233 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
234
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
235
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
236 #-------------------------------------------------------------------------
171
5434903331df weather: Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 167
diff changeset
237 # Weather data update loop
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
238 proc weather_exec {} {
421
0f7524550aa2 weather: Cosmetics, stray whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 419
diff changeset
239 global weather_check_period weather_running
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
240
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
241 # Perform update
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
242 weather_update
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
243
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
244 # Schedule next update
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
245 set weather_running [clock seconds]
173
3ea14355e2d4 weather: Fix a silly bug in the weather data update loop. :S
Matti Hamalainen <ccr@tnsp.org>
parents: 172
diff changeset
246 timer $weather_check_period weather_exec
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
247 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
248
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
249
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
250 #-------------------------------------------------------------------------
171
5434903331df weather: Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 167
diff changeset
251 # Script initialization
5434903331df weather: Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 167
diff changeset
252 #-------------------------------------------------------------------------
5434903331df weather: Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 167
diff changeset
253
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
254 if {![info exists weather_data]} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
255 array set weather_data {}
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
256 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
257
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
258 if {![info exists weather_aliases]} {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
259 array set weather_aliases {}
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
260 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
261
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
262 if {[info exists weather_running]} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
263 set weather_last [expr [clock seconds] - $weather_running]
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
264 } else {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
265 set weather_last -1
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
266 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
267
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
268 weather_log "Loading aliases."
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
269 weather_load_aliases
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
270
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
271 if {$weather_last < 0 || $weather_last > [expr $weather_check_period * 60]} {
364
3b67c66fe0dc weather: Add debugging prints.
Matti Hamalainen <ccr@tnsp.org>
parents: 360
diff changeset
272 weather_log "Starting weather update timer."
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
273 weather_exec
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
274 } else {
364
3b67c66fe0dc weather: Add debugging prints.
Matti Hamalainen <ccr@tnsp.org>
parents: 360
diff changeset
275 weather_log "Continuing weather updates."
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
276 weather_update
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
277 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
278
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
279
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
280 #-------------------------------------------------------------------------
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
281 proc weather_cmd {unick uhand uchan uargs upublic} {
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
282 global weather_default_locations weather_data weather_max_results weather_aliases
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
283 global weather_msg_usage_full weather_msg_usage_def_set weather_msg_user_not_known
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
284 global weather_msg_no_results weather_msg_no_data_for_location
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
285 global weather_msg_usage_alias weather_msg_usage_unalias weather_msg_defloc
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
286 global weather_msg_aliased weather_msg_unaliased weather_msg_no_access
174
d94be9a1be6a weather: Add support for listing currently defined aliases.
Matti Hamalainen <ccr@tnsp.org>
parents: 173
diff changeset
287 global weather_msg_def_set weather_msg_def_not_set weather_msg_aliases
418
e904b453a06a weather: Show weather station coordinates and Google Maps link in the station list search.
Matti Hamalainen <ccr@tnsp.org>
parents: 415
diff changeset
288 global weather_msg_usage_stations weather_msg_stations weather_msg_list_station
430
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
289 global weather_msg_list_nearest weather_msg_usage_nearest weather_msg_usage_nearest_invalid
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
290 global weather_msg_nearest_stations weather_msg_result
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
291
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
292 # Check and handle arguments
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
293 set rarglist [::textutil::split::splitx $uargs {\s+}]
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
294 set rarg [lindex $rarglist 0]
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
295
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
296 if {$rarg == "?" || $rarg == "help" || $rarg == "apua"} {
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
297 weather_usage $upublic $unick $uchan "$weather_msg_usage_full"
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
298 return 0
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
299 }
217
67018e353536 weather: Add new sub-command for listing measurement stations matching given name pattern.
Matti Hamalainen <ccr@tnsp.org>
parents: 215
diff changeset
300
67018e353536 weather: Add new sub-command for listing measurement stations matching given name pattern.
Matti Hamalainen <ccr@tnsp.org>
parents: 215
diff changeset
301 if {$rarg == "asemat" || $rarg == "stations"} {
67018e353536 weather: Add new sub-command for listing measurement stations matching given name pattern.
Matti Hamalainen <ccr@tnsp.org>
parents: 215
diff changeset
302 # List stations/locations matching the given pattern
67018e353536 weather: Add new sub-command for listing measurement stations matching given name pattern.
Matti Hamalainen <ccr@tnsp.org>
parents: 215
diff changeset
303 if {[llength $rarglist] < 2} {
67018e353536 weather: Add new sub-command for listing measurement stations matching given name pattern.
Matti Hamalainen <ccr@tnsp.org>
parents: 215
diff changeset
304 weather_usage $upublic $unick $uchan $weather_msg_usage_stations
67018e353536 weather: Add new sub-command for listing measurement stations matching given name pattern.
Matti Hamalainen <ccr@tnsp.org>
parents: 215
diff changeset
305 return 0
67018e353536 weather: Add new sub-command for listing measurement stations matching given name pattern.
Matti Hamalainen <ccr@tnsp.org>
parents: 215
diff changeset
306 }
67018e353536 weather: Add new sub-command for listing measurement stations matching given name pattern.
Matti Hamalainen <ccr@tnsp.org>
parents: 215
diff changeset
307
67018e353536 weather: Add new sub-command for listing measurement stations matching given name pattern.
Matti Hamalainen <ccr@tnsp.org>
parents: 215
diff changeset
308 set rarg [join [lrange $rarglist 1 end] " "]
67018e353536 weather: Add new sub-command for listing measurement stations matching given name pattern.
Matti Hamalainen <ccr@tnsp.org>
parents: 215
diff changeset
309 set result {}
67018e353536 weather: Add new sub-command for listing measurement stations matching given name pattern.
Matti Hamalainen <ccr@tnsp.org>
parents: 215
diff changeset
310
67018e353536 weather: Add new sub-command for listing measurement stations matching given name pattern.
Matti Hamalainen <ccr@tnsp.org>
parents: 215
diff changeset
311 foreach {ukey uvalue} [array get weather_data] {
67018e353536 weather: Add new sub-command for listing measurement stations matching given name pattern.
Matti Hamalainen <ccr@tnsp.org>
parents: 215
diff changeset
312 if {![string match "w_*" $ukey] && [string match -nocase "*${rarg}*" $ukey]} {
421
0f7524550aa2 weather: Cosmetics, stray whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 419
diff changeset
313 lappend result [weather_get_str $uvalue $weather_msg_list_station]
217
67018e353536 weather: Add new sub-command for listing measurement stations matching given name pattern.
Matti Hamalainen <ccr@tnsp.org>
parents: 215
diff changeset
314 }
67018e353536 weather: Add new sub-command for listing measurement stations matching given name pattern.
Matti Hamalainen <ccr@tnsp.org>
parents: 215
diff changeset
315 }
67018e353536 weather: Add new sub-command for listing measurement stations matching given name pattern.
Matti Hamalainen <ccr@tnsp.org>
parents: 215
diff changeset
316
67018e353536 weather: Add new sub-command for listing measurement stations matching given name pattern.
Matti Hamalainen <ccr@tnsp.org>
parents: 215
diff changeset
317 set res [join $result " ; "]
67018e353536 weather: Add new sub-command for listing measurement stations matching given name pattern.
Matti Hamalainen <ccr@tnsp.org>
parents: 215
diff changeset
318 weather_msg $upublic $unick $uchan $weather_msg_stations [list $res]
67018e353536 weather: Add new sub-command for listing measurement stations matching given name pattern.
Matti Hamalainen <ccr@tnsp.org>
parents: 215
diff changeset
319 return 0
430
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
320 } elseif {$rarg == "lahin" || $rarg == "lähin" || $rarg == "closest" || $rarg == "nearest"} {
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
321 # List stations nearest to given coordinates
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
322 set qlist [::textutil::split::splitx [join [lrange $rarglist 1 end] " "] {\s*,\s*}]
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
323 set nlist [lsearch -all -inline -not -exact $qlist ""]
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
324 if {[llength $nlist] < 2} {
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
325 weather_usage $upublic $unick $uchan $weather_msg_usage_nearest
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
326 return 0
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
327 }
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
328
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
329 # Check argument types
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
330 set d_lat [lindex $nlist 0]
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
331 set d_lng [lindex $nlist 1]
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
332 if {![string is double -strict $d_lat] || ![string is double -strict $d_lng]} {
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
333 weather_msg $upublic $unick $uchan $weather_msg_usage_nearest_invalid
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
334 return 0
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
335 }
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
336
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
337 # Calculate distances between given coordinates for each location
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
338 set result {}
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
339 foreach {ukey uvalue} [array get weather_data] {
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
340 if {![string match "w_*" $ukey]} {
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
341 set delta_lat [expr {$d_lat - [lindex $uvalue 2]}]
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
342 set delta_lng [expr {$d_lng - [lindex $uvalue 3]}]
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
343 set dist [expr { sqrt($delta_lat * $delta_lat + $delta_lng * $delta_lng) }]
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
344 lappend result [list $ukey $dist]
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
345 }
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
346 }
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
347
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
348 # Sort the list by distance
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
349 set usorted [lsort -real -index 1 $result]
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
350
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
351 # Create a result list for few best/first matches
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
352 set uresult {}
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
353 foreach {uval} [lrange $usorted 0 2] {
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
354 lappend uresult [weather_get_str $weather_data([lindex $uval 0]) $weather_msg_list_nearest]
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
355 }
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
356
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
357 # Print out the result
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
358 set res [join $uresult " ; "]
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
359 weather_msg $upublic $unick $uchan $weather_msg_nearest_stations [list $d_lat $d_lng $res]
8efbb045d44d weather: Implement searching for nearest of measurement stations based on given lat/long coordinates.
Matti Hamalainen <ccr@tnsp.org>
parents: 429
diff changeset
360 return 0
273
38a5bce4b078 weather: Move configuration to separate file.
Matti Hamalainen <ccr@tnsp.org>
parents: 248
diff changeset
361 } elseif {$rarg == "vakio" || $rarg == "default" || $rarg == "vakiot" || $rarg == "defaults"} {
217
67018e353536 weather: Add new sub-command for listing measurement stations matching given name pattern.
Matti Hamalainen <ccr@tnsp.org>
parents: 215
diff changeset
362 # List or set the default weather station name patterns for this user
67018e353536 weather: Add new sub-command for listing measurement stations matching given name pattern.
Matti Hamalainen <ccr@tnsp.org>
parents: 215
diff changeset
363
171
5434903331df weather: Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 167
diff changeset
364 # Access check
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
365 if {![weather_valid_user $uhand]} {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
366 weather_msg $upublic $unick $uchan $weather_msg_user_not_known
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
367 return 0
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
368 }
421
0f7524550aa2 weather: Cosmetics, stray whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 419
diff changeset
369
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
370 if {[llength $rarglist] == 1} {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
371 set lista [getuser $uhand XTRA "weather_locations"]
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
372 if {$lista == "" || $lista == "{}"} {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
373 weather_msg $upublic $unick $uchan $weather_msg_def_not_set [list $uhand]
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
374 } else {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
375 set lista [join [split $lista ";"] " ; "]
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
376 weather_msg $upublic $unick $uchan $weather_msg_defloc [list $uhand $lista]
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
377 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
378 } else {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
379 # Split the list of desired locations
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
380 set qlist [::textutil::split::splitx [join [lrange $rarglist 1 end] " "] {\s*\;\s*}]
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
381 set nlist [lsearch -all -inline -not -exact $qlist ""]
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
382
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
383 if {[llength $nlist] > 0} {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
384 weather_msg $upublic $unick $uchan $weather_msg_def_set [list [join $nlist " ; "]]
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
385 setuser $uhand XTRA "weather_locations" [join $nlist ";"]
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
386 } else {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
387 weather_usage $upublic $unick $uchan $weather_msg_usage_def_set
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
388 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
389 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
390 return 0
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
391 } elseif {$rarg == "alias"} {
171
5434903331df weather: Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 167
diff changeset
392 # Alias a string to another, only certain users have access (+n flag)
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
393 if {![weather_valid_user $uhand] || ![matchattr $uhand n]} {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
394 weather_msg $upublic $unick $uchan $weather_msg_no_access
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
395 return 0
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
396 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
397
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
398 set qlist [::textutil::split::splitx [join [lrange $rarglist 1 end] " "] {\s*=\s*}]
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
399 set nlist [lsearch -all -inline -not -exact $qlist ""]
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
400 if {[llength $nlist] < 2} {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
401 weather_usage $upublic $unick $uchan $weather_msg_usage_alias
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
402 return 0
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
403 }
421
0f7524550aa2 weather: Cosmetics, stray whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 419
diff changeset
404
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
405 set ualias [lindex $nlist 0]
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
406 set uname [lindex $nlist 1]
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
407 set weather_aliases($ualias) $uname
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
408 weather_msg $upublic $unick $uchan $weather_msg_aliased [list $ualias $uname]
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
409
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
410 weather_save_aliases
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
411 return 0
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
412 } elseif {$rarg == "unalias"} {
171
5434903331df weather: Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 167
diff changeset
413 # Remove one alias, only certain users have access (+n flag)
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
414 if {![weather_valid_user $uhand] || ![matchattr $uhand n]} {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
415 weather_msg $upublic $unick $uchan $weather_msg_no_access
161
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
416 return 0
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
417 }
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
418
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
419 if {[llength $rarglist] < 2} {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
420 weather_usage $upublic $unick $uchan $weather_msg_usage_unalias
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
421 return 0
161
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
422 }
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
423
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
424 set ualias [lindex $rarglist 1]
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
425 unset weather_aliases($ualias)
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
426 weather_msg $upublic $unick $uchan $weather_msg_unaliased [list $ualias]
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
427
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
428 weather_save_aliases
161
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
429 return 0
174
d94be9a1be6a weather: Add support for listing currently defined aliases.
Matti Hamalainen <ccr@tnsp.org>
parents: 173
diff changeset
430 } elseif {$rarg == "list"} {
d94be9a1be6a weather: Add support for listing currently defined aliases.
Matti Hamalainen <ccr@tnsp.org>
parents: 173
diff changeset
431 # List all currently defined aliases
d94be9a1be6a weather: Add support for listing currently defined aliases.
Matti Hamalainen <ccr@tnsp.org>
parents: 173
diff changeset
432 set ulist {}
d94be9a1be6a weather: Add support for listing currently defined aliases.
Matti Hamalainen <ccr@tnsp.org>
parents: 173
diff changeset
433 foreach {ukey uvalue} [array get weather_aliases] {
d94be9a1be6a weather: Add support for listing currently defined aliases.
Matti Hamalainen <ccr@tnsp.org>
parents: 173
diff changeset
434 lappend ulist "\002'$ukey' = '$uvalue'\002"
d94be9a1be6a weather: Add support for listing currently defined aliases.
Matti Hamalainen <ccr@tnsp.org>
parents: 173
diff changeset
435 }
d94be9a1be6a weather: Add support for listing currently defined aliases.
Matti Hamalainen <ccr@tnsp.org>
parents: 173
diff changeset
436 weather_msg $upublic $unick $uchan $weather_msg_aliases [list [join $ulist ", "]]
d94be9a1be6a weather: Add support for listing currently defined aliases.
Matti Hamalainen <ccr@tnsp.org>
parents: 173
diff changeset
437 return 0
161
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
438 }
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
439
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
440 # Get args or default location(s)
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
441 set rargs [join $rarglist " "]
161
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
442 if {$rargs == "" && $uhand != "" && $uhand != "{}" && $uhand != "*"} {
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
443 set rargs [getuser $uhand XTRA "weather_locations"]
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
444 }
161
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
445 if {$rargs == ""} {
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
446 set rargs $weather_default_locations
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
447 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
448
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
449 # Handle argument list
156
a1f4c163e48c weather: Add max results limit.
Matti Hamalainen <ccr@tnsp.org>
parents: 153
diff changeset
450 set nresults 0
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
451 set rarglist [::textutil::split::splitx $rargs "\s*\;\s*"]
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
452 foreach rarg $rarglist {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
453 if {$rarg == "min"} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
454 # Min temp
279
f6dc673adfa1 weather: Reorder some function arguments.
Matti Hamalainen <ccr@tnsp.org>
parents: 273
diff changeset
455 set umin [weather_get_by_key "w_min"]
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
456 weather_msg $upublic $unick $uchan "Min: $umin"
156
a1f4c163e48c weather: Add max results limit.
Matti Hamalainen <ccr@tnsp.org>
parents: 153
diff changeset
457 incr nresults
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
458 } elseif {$rarg == "max"} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
459 # Max temp
279
f6dc673adfa1 weather: Reorder some function arguments.
Matti Hamalainen <ccr@tnsp.org>
parents: 273
diff changeset
460 set umax [weather_get_by_key "w_max"]
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
461 weather_msg $upublic $unick $uchan "Max: $umax"
156
a1f4c163e48c weather: Add max results limit.
Matti Hamalainen <ccr@tnsp.org>
parents: 153
diff changeset
462 incr nresults
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
463 } elseif {$rarg == "minmax" || $rarg == "min max" || $rarg == "maxmin" || $rarg == "max min"} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
464 # Min & Max temps
279
f6dc673adfa1 weather: Reorder some function arguments.
Matti Hamalainen <ccr@tnsp.org>
parents: 273
diff changeset
465 set umin [weather_get_by_key "w_min"]
f6dc673adfa1 weather: Reorder some function arguments.
Matti Hamalainen <ccr@tnsp.org>
parents: 273
diff changeset
466 set umax [weather_get_by_key "w_max"]
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
467 weather_msg $upublic $unick $uchan "Min: $umin | Max: $umax"
156
a1f4c163e48c weather: Add max results limit.
Matti Hamalainen <ccr@tnsp.org>
parents: 153
diff changeset
468 incr nresults
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
469 } else {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
470 # Location match
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
471 set ufound 0
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
472 set rarg [weather_get_alias $rarg]
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
473 foreach {ukey uvalue} [array get weather_data] {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
474 if {![string match "w_*" $ukey] && [string match -nocase "*${rarg}*" $ukey]} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
475 if {[llength $uvalue] > 0} {
418
e904b453a06a weather: Show weather station coordinates and Google Maps link in the station list search.
Matti Hamalainen <ccr@tnsp.org>
parents: 415
diff changeset
476 weather_msg $upublic $unick $uchan [weather_get_str $uvalue $weather_msg_result]
156
a1f4c163e48c weather: Add max results limit.
Matti Hamalainen <ccr@tnsp.org>
parents: 153
diff changeset
477 incr nresults
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
478 } else {
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
479 weather_msg $upublic $unick $uchan $weather_msg_no_results [list $ukey]
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
480 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
481 incr ufound
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
482 }
421
0f7524550aa2 weather: Cosmetics, stray whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 419
diff changeset
483
0f7524550aa2 weather: Cosmetics, stray whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 419
diff changeset
484 # Check for results limit
161
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
485 if {$nresults >= $weather_max_results} {
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
486 return 0
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
487 }
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
488 }
421
0f7524550aa2 weather: Cosmetics, stray whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 419
diff changeset
489
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
490 if {$ufound == 0} {
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
491 weather_msg $upublic $unick $uchan $weather_msg_no_data_for_location [list $rarg]
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
492 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
493 }
421
0f7524550aa2 weather: Cosmetics, stray whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 419
diff changeset
494
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
495 # Check for results limit
156
a1f4c163e48c weather: Add max results limit.
Matti Hamalainen <ccr@tnsp.org>
parents: 153
diff changeset
496 if {$nresults >= $weather_max_results} {
a1f4c163e48c weather: Add max results limit.
Matti Hamalainen <ccr@tnsp.org>
parents: 153
diff changeset
497 return 0
a1f4c163e48c weather: Add max results limit.
Matti Hamalainen <ccr@tnsp.org>
parents: 153
diff changeset
498 }
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
499 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
500 return 0
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
501 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
502
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
503
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
504
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
505 #-------------------------------------------------------------------------
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
506 proc weather_cmd_pub {unick uhost uhand uchan uargs} {
220
03579553233b weather: Add setting for specifying channels where weather commands are available.
Matti Hamalainen <ccr@tnsp.org>
parents: 218
diff changeset
507 global weather_channels
03579553233b weather: Add setting for specifying channels where weather commands are available.
Matti Hamalainen <ccr@tnsp.org>
parents: 218
diff changeset
508
344
25fc5a2b42ae weather: Use utillib for matching enabled channels.
Matti Hamalainen <ccr@tnsp.org>
parents: 335
diff changeset
509 if {[utl_match_delim_list $weather_channels $uchan]} {
25fc5a2b42ae weather: Use utillib for matching enabled channels.
Matti Hamalainen <ccr@tnsp.org>
parents: 335
diff changeset
510 return [weather_cmd $unick $uhand $uchan $uargs 1]
220
03579553233b weather: Add setting for specifying channels where weather commands are available.
Matti Hamalainen <ccr@tnsp.org>
parents: 218
diff changeset
511 }
03579553233b weather: Add setting for specifying channels where weather commands are available.
Matti Hamalainen <ccr@tnsp.org>
parents: 218
diff changeset
512
03579553233b weather: Add setting for specifying channels where weather commands are available.
Matti Hamalainen <ccr@tnsp.org>
parents: 218
diff changeset
513 return 0
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
514 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
515
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
516 #-------------------------------------------------------------------------
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
517 proc weather_cmd_msg {unick uhost uhand uargs} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
518 return [weather_cmd $unick $uhand "PRIV" $uargs 0]
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
519 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
520
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
521 # end of script