Posted to tcl by mjanssen at Thu Oct 19 23:12:34 GMT 2006view pretty
package require http package require sqlite3 set h1 [http::geturl http://tvrage.com/quickschedule.php] set data [::http::data $h1] http::cleanup $h1 sqlite3 db {} db eval {CREATE TABLE shows(date text, time text, network text, name text, season text , episode text, url text, PRIMARY KEY (date,time,network,name))} set lines [split $data \n] foreach line $lines { set type {} regexp {\[(.*)?\](.*)\[.*\]} $line -> type value switch $type { DAY {set current_day $value } TIME {set show_time $value ; set show_nr 0} SHOW { # 8.5 only lassign [split $value ^] network name season url lassign [split $season x] season episode db eval {INSERT INTO shows VALUES($current_day,$show_time,$network,$name,$season,$episode, $url)}} default {continue} } } db eval {SELECT * from shows WHERE date="Wednesday, 25 Oct 2006" ORDER BY time } { puts "$time: \[$network\] ($season-$episode) $name <$url>" } puts "---------------\nWhen is David Letterman on?" # when is letterman on? db eval {SELECT * from shows WHERE name like "%Letterman%" ORDER BY date,time } { puts "$date - $time:\t \[$network\] ($season-$episode) $name" } db close