#!/mod/bin/jimsh package require cgi package require sqlite3 source /mod/var/mongoose/lib/setup require altrow progressbar epg.class puts "Content-Type: text/html" puts "" header cgi_input proc f2c {frequency} { set ch int($((($frequency / 1000) - 303.25) / 8)) return [expr int($ch)] } if {[catch {set db [sqlite3.open /var/lib/humaxtv/channel.db]} msg]} { puts "Error opening channel database: $msg" exit } puts "

" foreach tw [$db query { select tsIdx, usTsID, ulFrequency, ucLevel, ucQuality from TBL_TS order by ulFrequency }] { lassign $tw x tsIdx x usTsID x ulFrequency x ucLevel x ucQuality altrow puts " " puts "" puts "" set channels [$db query { select usLcn, szSvcName, szPrvName, aucDefaultAuthority from TBL_SVC left join TBL_PRV using (prvIdx) where tsIdx = %s order by usLcn } $tsIdx] puts "" puts "" puts "" } puts "
Channel Frequency Signal Strength Signal Quality Channels
[f2c $ulFrequency] [expr $ulFrequency / 1000.0] MHz[progressbar $ucLevel][progressbar $ucQuality][llength $channels] view
" puts "" puts "" foreach chan $channels { lassign $chan x lcn x name x prv x auth set name [string range $name 1 end] set prv [string range $prv 3 end] altrow puts "" puts "" puts "" } puts "
Channel Provider Authority
" puts "[epg channelicon $name 50] $lcn$name" puts $prv puts "" puts $auth puts "
" puts "
" puts { }