Posted to tcl by mjanssen at Thu Oct 19 22:19:39 GMT 2006view pretty

package require http
set data [set [http::geturl http://tvrage.com/quickschedule.php](body)]

set shows {}
set show_nr 0

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 {dict set shows $current_day $show_time [incr show_nr] $value}
	default {continue} 
    }
}

set dates [dict keys $shows]

foreach date [lsort $dates] {
   puts --------
   puts "Date: $date"
   set times [lsort [dict keys [dict get $shows $date]]] 
   foreach time $times {
 	puts "$time"
        foreach show [dict values [dict get $shows $date $time]] {
		puts "\t$show"
        } 
   }	
}