comparison quotedb.tcl @ 426:84d3d7abeb8a

Add utl_msg_do() function into utillib and refactor out similar things in quotedb and weather scripts.
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 08 Jan 2017 04:04:35 +0200
parents 825cac46b1cb
children 86f39989df4b
comparison
equal deleted inserted replaced
425:e5810c52d376 426:84d3d7abeb8a
46 if {$qdb_logmsg != 0} { 46 if {$qdb_logmsg != 0} {
47 putlog "$qdb_name: $jarg" 47 putlog "$qdb_name: $jarg"
48 } 48 }
49 } 49 }
50 50
51 51 proc qdb_msg {apublic anick achan amsg {aargs {}}} {
52 proc qdb_msg_do {apublic anick achan amsg} {
53 global qdb_preferredmsg 52 global qdb_preferredmsg
54
55 if {$apublic == 0} {
56 putserv "$qdb_preferredmsg $anick :$amsg"
57 } else {
58 putserv "$qdb_preferredmsg $achan :$amsg"
59 }
60 }
61
62 proc qdb_msg {apublic anick achan amsg {aargs {}}} {
63 set narg 1 53 set narg 1
64 foreach marg $aargs { 54 foreach marg $aargs {
65 set amsg [string map [list "%$narg" $marg] $amsg] 55 set amsg [string map [list "%$narg" $marg] $amsg]
66 incr narg 56 incr narg
67 } 57 }
68 qdb_msg_do $apublic $anick $achan $amsg 58 utl_msg_do $qdb_preferredmsg $apublic $anick $achan $amsg
69 } 59 }
70 60
71 61
72 proc qdb_sql_exec { upublic unick uchan usql } { 62 proc qdb_sql_exec { upublic unick uchan usql } {
73 global qdb_handle qdb_msg_sql_error 63 global qdb_handle qdb_msg_sql_error
298 append usql " GROUP BY ${utable}.id ORDER BY RANDOM() LIMIT 1" 288 append usql " GROUP BY ${utable}.id ORDER BY RANDOM() LIMIT 1"
299 qdb_log "$unick get random $utable" 289 qdb_log "$unick get random $utable"
300 } 290 }
301 291
302 qdb_handle eval $usql { 292 qdb_handle eval $usql {
303 set qtmp [utl_str_split "#${quoteID}: $utext ($uuser@[qdb_ctime $utime], $uvote)" 450] 293 qdb_msg $upublic $unick $uchan "#${quoteID}: $utext ($uuser@[utl_ctime $utime], $uvote)"
304 foreach qstr $qtmp {
305 qdb_msg $upublic $unick $uchan $qstr
306 }
307 return 1 294 return 1
308 } 295 }
309 296
310 qdb_msg $upublic $unick $uchan $qdb_msg_no_matches [list $unick] 297 qdb_msg $upublic $unick $uchan $qdb_msg_no_matches [list $unick]
311 return 0 298 return 0