annotate weather.tcl @ 163:bee5cd89d41c

weather: Moar work on getting the frontend script code up and running.
author Matti Hamalainen <ccr@tnsp.org>
date Mon, 02 Jun 2014 19:29:33 +0300
parents 2c9db9a29429
children ff64ef21c20d
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 #
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
3 # Weather v0.1 by Matti 'ccr' Hamalainen <ccr@tnsp.org>
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
4 # (C) Copyright 2014 Tecnic Software productions (TNSP)
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
5 #
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
6 # Requires get_weather.tcl to be run as a cronjob, for example
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
7 # 15 * * * * /absolute/path/to/get_weather.tcl
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
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
13 set weather_default_locations "raahe"
157
c8fa73ba67da weather: Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 156
diff changeset
14
161
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
15 set weather_datafile "/home/niinuska/bot/weather.data"
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
16 set weather_aliasfile "/home/niinuska/bot/weather.alias"
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
17 set weather_check_period 2
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
18
156
a1f4c163e48c weather: Add max results limit.
Matti Hamalainen <ccr@tnsp.org>
parents: 153
diff changeset
19 set weather_max_results 3
a1f4c163e48c weather: Add max results limit.
Matti Hamalainen <ccr@tnsp.org>
parents: 153
diff changeset
20
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
21 set weather_logmsg 1
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
22 set weather_preferredmsg "PRIVMSG"
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
23
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
24
157
c8fa73ba67da weather: Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 156
diff changeset
25 ###
c8fa73ba67da weather: Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 156
diff changeset
26 ### Messages
c8fa73ba67da weather: Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 156
diff changeset
27 ###
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
28 set weather_msg_usage_prefix_1 "Käyttö: !sää "
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
29 set weather_msg_usage_prefix_2 " !sää "
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
30
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
31 set weather_msg_usage_def_set "vakio <paikka>\[;<paikka2>\] -- asettaa vakiohavaintoaseman\nvakio -- näyttää nykyisen"
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
32 set weather_msg_usage_alias "alias <alias> = <nimi> (Lisää alias-nimen, esim. alias perse = turku)"
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
33 set weather_msg_usage_unalias "unalias <alias> (Poistaa aliaksen)"
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
34
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
35 set weather_msg_usage_full "\[paikka\]\n$weather_msg_usage_def_set\n$weather_msg_usage_alias\n$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
36
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
37 set weather_msg_def_set "Vakio-havaintoasemiksi asetettu: \002%1\002."
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
38 set weather_msg_defloc "Käyttäjän \002%1\002 vakio-havaintoasemat ovat: \002%2\002."
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
39 set weather_msg_def_not_set "Vakio-havaintoasemia ei asetettu käyttäjälle \002%1\002."
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
40
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
41 set weather_msg_aliased "Aliasoitiin \002%1\002 = \002%2\002."
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
42 set weather_msg_unaliased "Unaliasoitiin \002%1\002."
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
43
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
44 set weather_msg_user_not_known "Tuntematon käyttäjä."
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
45 set weather_msg_no_access "Ei oikeuksia muuttaa asetuksia."
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
46
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
47
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
48 set weather_msg_no_results "\002%1\002: Ei mittaustietoja."
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
49 set weather_msg_no_data_for_location "\002%1\002: Paikkakunnan tietoja ei saatu."
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
50
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
51
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
52 ##########################################################################
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
53 # 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
54 ##########################################################################
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
55 set weather_name "Weather"
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
56 set weather_version "0.1"
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
57
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
58 ### Binding initializations
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
59 bind pub - !sää weather_cmd_pub
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
60 bind pub - !saa weather_cmd_pub
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
61 bind msg - !sää weather_cmd_msg
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
62 bind msg - !saa weather_cmd_msg
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
63
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
64
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
65 ### Initialization messages
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
66 package require textutil::split
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
67 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
68 putlog "$weather_message"
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
69
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
70
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
71 #-------------------------------------------------------------------------
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
72 proc weather_log {arg} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
73 global weather_logmsg weather_name
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
74 if {$weather_logmsg != 0} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
75 putlog "$weather_name: $arg"
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
76 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
77 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
78
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
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 proc weather_msg_do {apublic anick achan amsg} {
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
81 global weather_preferredmsg
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
82 if {$apublic == 1} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
83 putserv "$weather_preferredmsg $achan :$amsg"
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
84 } else {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
85 putserv "$weather_preferredmsg $anick :$amsg"
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
86 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
87 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
88
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
89
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
90 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
91 global weather_msg_usage_prefix_1 weather_msg_usage_prefix_2
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
92 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
93 foreach aline [split $amsg "\n"] {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
94 if {$nline == 0} {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
95 weather_msg_do $apublic $anick $achan "$weather_msg_usage_prefix_1$aline"
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
96 } else {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
97 weather_msg_do $apublic $anick $achan "$weather_msg_usage_prefix_2$aline"
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
98 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
99 incr nline
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
100 }
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_msg {apublic anick achan amsg {aargs {}}} {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
105 set narg 1
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
106 foreach marg $aargs {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
107 set amsg [string map [list "%$narg" $marg] $amsg]
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
108 incr narg
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
109 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
110 weather_msg_do $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
111 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
112
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
113
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
114 proc weather_ctime {utime} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
115 return [clock format $utime -format "%H:%M"]
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
116 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
117
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
118
161
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
119 proc weather_valid_user {uhand} {
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
120 if {$uhand != "" && $uhand != "{}" && $uhand != "*"} {
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
121 return 1
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
122 }
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
123 return 0
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
124 }
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
125
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
126
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
127 #-------------------------------------------------------------------------
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
128 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
129 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
130
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
131 # Create dict
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
132 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
133 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
134
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
135 # Read datafile
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
136 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
137 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
138 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
139 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
140 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
141 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
142 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
143 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
144 close $ufile
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
145 } else {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
146 weather_log "Could not open data file: $uerrmsg"
161
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
147 }
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
148 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
149
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
150
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
151 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
152 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
153
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
154 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
155 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
156 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
157 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
158 close $ufile
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
159 } else {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
160 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
161 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
162 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
164
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
165 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
166 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
167 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
168 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
169 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
170 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
171 return $uname
161
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
172 }
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 #-------------------------------------------------------------------------
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
176 proc weather_get_data {ukey udata} {
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
177 set str "\002[lindex $udata 0]\002, mitattu klo [weather_ctime [lindex $udata 1]]: \002[lindex $udata 2]°C\002"
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
178 if {[llength $udata] > 3} {
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
179 append str ", tien pinta [lindex $udata 3]°C"
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 if {[llength $udata] > 4} {
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
182 append str ", [lindex $udata 4]"
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
183 }
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
184 return "${str}."
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
185 }
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
186
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
187
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
188 proc weather_get_key {ukey} {
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
189 global weather_data
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
190 return [weather_get_data $ukey $weather_data($ukey)]
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
191 }
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
192
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
193
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
194 #-------------------------------------------------------------------------
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
195 proc weather_update {} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
196 global weather_datafile weather_data
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
197
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
198 # Create dict
161
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
199 array unset weather_data
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
200 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
201
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
202 set wtemp_min_val 500000
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
203 set wtemp_max_val -500000
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
204 set wtemp_min_key ""
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
205 set wtemp_max_key ""
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
206
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
207 # Read datafile
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
208 if {![catch {set ufile [open $weather_datafile r 0600]} uerrmsg]} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
209 while {![eof $ufile]} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
210 gets $ufile uline
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
211 set udata [split $uline "|"]
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
212 if {[llength $udata] > 0} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
213 set utemp [lindex $udata 2]
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
214 set ukey [lindex $udata 0]
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
215
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
216 set weather_data($ukey) $udata
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
217
161
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
218 if {[string is double -strict $utemp]} {
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
219 if {$utemp < $wtemp_min_val} {
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
220 set wtemp_min_key $ukey
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
221 set wtemp_min_val $utemp
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
222 }
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
223 if {$utemp > $wtemp_max_val} {
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
224 set wtemp_max_key $ukey
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
225 set wtemp_max_val $utemp
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
226 }
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
227 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
228 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
229 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
230 close $ufile
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
231
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
232 # Store min/max
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
233 set weather_data(w_min) $weather_data($wtemp_min_key)
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
234 set weather_data(w_max) $weather_data($wtemp_max_key)
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
235 } else {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
236 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
237 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
238 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
239
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 #-------------------------------------------------------------------------
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
242 proc weather_exec {} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
243 global weather_check_period weather_running
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
244
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
245 # Perform update
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
246 weather_update
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 # Schedule next update
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
249 set weather_running [clock seconds]
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
250 timer $weather_check_period weather_update
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
251 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
252
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
253
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
254 #-------------------------------------------------------------------------
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
255 if {![info exists weather_data]} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
256 array set weather_data {}
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
257 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
258
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
259 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
260 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
261 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
262
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
263 if {[info exists weather_running]} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
264 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
265 } else {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
266 set weather_last -1
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
267 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
268
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
269 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
270 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
271
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
272 if {$weather_last < 0 || $weather_last > [expr $weather_check_period * 60]} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
273 weather_log "Starting weather update."
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
274 weather_exec
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
275 } else {
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
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
287 global weather_msg_def_set weather_msg_def_not_set
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
288
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
289 putlog "$unick : '$uhand' @ $uchan"
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
290
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
291 # Check and handle arguments
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
292 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
293 set rarg [lindex $rarglist 0]
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
294
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
295 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
296 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
297 return 0
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
298 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
299
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
300 # Setting the location
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
301 if {$rarg == "vakio" || $rarg == "default" || $rarg == "vakiot"} {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
302 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
303 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
304 return 0
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
305 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
306
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
307 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
308 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
309 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
310 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
311 } else {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
312 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
313 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
314 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
315 } else {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
316 # 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
317 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
318 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
319
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
320 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
321 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
322 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
323 } else {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
324 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
325 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
326 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
327 return 0
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
328 } elseif {$rarg == "alias"} {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
329 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
330 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
331 return 0
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
332 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
333
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
334 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
335 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
336 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
337 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
338 return 0
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
339 }
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
340
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
341 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
342 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
343 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
344 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
345
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
346 weather_save_aliases
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
347 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
348 } elseif {$rarg == "unalias"} {
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
349 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
350 weather_msg $upublic $unick $uchan $weather_msg_no_access
161
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
351 return 0
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
352 }
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
353
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
354 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
355 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
356 return 0
161
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
357 }
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
358
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
359 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
360 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
361 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
362
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
363 weather_save_aliases
161
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
364 return 0
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
365 }
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
366
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
367 # 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
368 set rargs [join $rarglist " "]
161
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
369 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
370 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
371 }
161
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
372 if {$rargs == ""} {
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
373 set rargs $weather_default_locations
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
374 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
375
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
376 # Handle argument list
156
a1f4c163e48c weather: Add max results limit.
Matti Hamalainen <ccr@tnsp.org>
parents: 153
diff changeset
377 set nresults 0
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
378 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
379 foreach rarg $rarglist {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
380 if {$rarg == "min"} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
381 # Min temp
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
382 set umin [weather_get_key "w_min"]
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
383 weather_msg $upublic $unick $uchan "Min: $umin"
156
a1f4c163e48c weather: Add max results limit.
Matti Hamalainen <ccr@tnsp.org>
parents: 153
diff changeset
384 incr nresults
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
385 } elseif {$rarg == "max"} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
386 # Max temp
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
387 set umax [weather_get_key "w_max"]
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
388 weather_msg $upublic $unick $uchan "Max: $umax"
156
a1f4c163e48c weather: Add max results limit.
Matti Hamalainen <ccr@tnsp.org>
parents: 153
diff changeset
389 incr nresults
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
390 } 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
391 # Min & Max temps
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
392 set umin [weather_get_key "w_min"]
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
393 set umax [weather_get_key "w_max"]
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
394 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
395 incr nresults
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
396 } else {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
397 # Location match
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
398 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
399 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
400 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
401 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
402 if {[llength $uvalue] > 0} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
403 weather_msg $upublic $unick $uchan [weather_get_data $ukey $uvalue]
156
a1f4c163e48c weather: Add max results limit.
Matti Hamalainen <ccr@tnsp.org>
parents: 153
diff changeset
404 incr nresults
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
405 } else {
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
406 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
407 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
408 incr ufound
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
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
411 # Check for results limit
161
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
412 if {$nresults >= $weather_max_results} {
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
413 return 0
2c9db9a29429 weather: More work, bugfixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
414 }
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
415 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
416
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
417 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
418 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
419 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
420 }
163
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
421
bee5cd89d41c weather: Moar work on getting the frontend script code up and running.
Matti Hamalainen <ccr@tnsp.org>
parents: 161
diff changeset
422 # Check for results limit
156
a1f4c163e48c weather: Add max results limit.
Matti Hamalainen <ccr@tnsp.org>
parents: 153
diff changeset
423 if {$nresults >= $weather_max_results} {
a1f4c163e48c weather: Add max results limit.
Matti Hamalainen <ccr@tnsp.org>
parents: 153
diff changeset
424 return 0
a1f4c163e48c weather: Add max results limit.
Matti Hamalainen <ccr@tnsp.org>
parents: 153
diff changeset
425 }
153
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
426 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
427 return 0
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
428 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
429
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
430
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
431
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
432 #-------------------------------------------------------------------------
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
433 proc weather_cmd_pub {unick uhost uhand uchan uargs} {
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
434 return [weather_cmd $unick $uhand $uchan $uargs 1]
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
435 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
436
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
437 #-------------------------------------------------------------------------
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
438 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
439 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
440 }
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
441
8b888a9f07df New script, weather.tcl. Needs backend stuff to be implemented.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
442 # end of script