forked from hummypkg/webif
new reservations screen
git-svn-id: file:///root/webif/svn/humax/pkg/src/webif/trunk@234 2a923420-c742-0410-a762-8d5b09965624
This commit is contained in:
parent
e712f38bb1
commit
5f6c7a843c
@ -1,46 +1,33 @@
|
|||||||
#!/mod/bin/jimsh
|
#!/mod/bin/jimsh
|
||||||
|
|
||||||
package require sqlite3
|
|
||||||
|
|
||||||
source /mod/var/mongoose/lib/setup
|
source /mod/var/mongoose/lib/setup
|
||||||
require altrow
|
require altrow rsv.class progressbar
|
||||||
|
|
||||||
set db [sqlite3.open /var/lib/humaxtv/rsv.db]
|
set events [rsv list]
|
||||||
$db query {attach database '/var/lib/humaxtv/channel.db' as channel}
|
|
||||||
|
|
||||||
set res [$db query {
|
puts {
|
||||||
select *, channel.TBL_SVC.szSvcName, channel.TBL_SVC.usLcn,
|
<table class=borders>
|
||||||
case when ersvtype > 3 then 1 else 0 end as sort
|
<tr>
|
||||||
from tbl_reservation
|
<th colspan=3>Channel</th>
|
||||||
left join channel.TBL_SVC
|
<th>Programme</th>
|
||||||
on main.TBL_RESERVATION.hSvc = channel.TBL_SVC.hSvc
|
<th>Start Time</th>
|
||||||
order by sort, nsttime
|
<th>Duration</th>
|
||||||
}]
|
<th>Mode</th>
|
||||||
|
<th>Event/Series ID</th>
|
||||||
|
<th>Events</th>
|
||||||
|
</tr>
|
||||||
|
}
|
||||||
|
|
||||||
puts "<table class=borders>"
|
foreach event $events {
|
||||||
puts "<tr>"
|
$event cleanstrings
|
||||||
#puts "<th>Slot</th>"
|
|
||||||
puts "<th colspan=2>Programme</th>"
|
set name [$event get szevtname]
|
||||||
puts "<th>Duration</th>"
|
|
||||||
puts "<th colspan=2>Channel</th>"
|
|
||||||
puts "<th>Date/Time</th>"
|
|
||||||
puts "<th>Mode</th>"
|
|
||||||
puts "<th>Event/Series ID</th>"
|
|
||||||
puts "</tr>"
|
|
||||||
foreach r $res {
|
|
||||||
set name [string range $r(szevtname) 1 end]
|
|
||||||
if {[string first "i7" $name] == 0} {
|
|
||||||
set name [string range $name 2 end]
|
|
||||||
set b "*"
|
|
||||||
} else {
|
|
||||||
set b ""
|
|
||||||
}
|
|
||||||
|
|
||||||
altrow
|
altrow
|
||||||
|
|
||||||
set rsvicon ""
|
set rsvicon ""
|
||||||
set alta ""
|
set alta ""
|
||||||
switch $r(ersvtype) {
|
switch [$event get ersvtype] {
|
||||||
1 { set rsvicon "175_1_00_Reservation_Watch.png" }
|
1 { set rsvicon "175_1_00_Reservation_Watch.png" }
|
||||||
2 { set rsvicon "175_1_00_Reservation_Watch.png" }
|
2 { set rsvicon "175_1_00_Reservation_Watch.png" }
|
||||||
3 { set rsvicon "175_1_11_Reservation_Record.png" }
|
3 { set rsvicon "175_1_11_Reservation_Record.png" }
|
||||||
@ -48,16 +35,16 @@ foreach r $res {
|
|||||||
6 { set rsvicon "745_1_11_Video_1REC.png"; set alta "Sleep" }
|
6 { set rsvicon "745_1_11_Video_1REC.png"; set alta "Sleep" }
|
||||||
7 { set rsvicon "345_6_08_ST_Ad_Hoc.png"
|
7 { set rsvicon "345_6_08_ST_Ad_Hoc.png"
|
||||||
set alta "Auto Update" }
|
set alta "Auto Update" }
|
||||||
default { set alta "Unknown type $r(ersvtype)" }
|
default { set alta "Unknown type [$event get ersvtype]" }
|
||||||
}
|
}
|
||||||
if {$name == ""} { set name "-- $alta --" }
|
if {$name == ""} { set name "-- $alta --" }
|
||||||
|
|
||||||
set series 0
|
set series 0
|
||||||
if {$r(ucRecKind) == 4} {
|
if {[$event get ucRecKind] == 4} {
|
||||||
set RKIcon "175_1_11_Series_Record.png"
|
set RKIcon "175_1_11_Series_Record.png"
|
||||||
set series 1
|
set series 1
|
||||||
} else {
|
} else {
|
||||||
switch $r(erepeat) {
|
switch [$event get erepeat] {
|
||||||
1 {set RKIcon "521_1_00_RP_Daily_C.png"}
|
1 {set RKIcon "521_1_00_RP_Daily_C.png"}
|
||||||
2 {set RKIcon "521_1_00_RP_Weekly_C.png"}
|
2 {set RKIcon "521_1_00_RP_Weekly_C.png"}
|
||||||
3 {set RKIcon "521_1_00_RP_Weekdays_C.png"}
|
3 {set RKIcon "521_1_00_RP_Weekdays_C.png"}
|
||||||
@ -67,38 +54,81 @@ foreach r $res {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if {$rsvicon ne ""} {
|
if {$rsvicon ne ""} {
|
||||||
set rsvicon "<img src='images/$rsvicon' height=15>
|
set rsvicon "<img src='images/$rsvicon' height=20>
|
||||||
}
|
}
|
||||||
if {$RKIcon ne ""} {
|
if {$RKIcon ne ""} {
|
||||||
set RKIcon "<img src='images/$RKIcon' height=15>
|
set RKIcon "<img src='images/$RKIcon' height=20>
|
||||||
}
|
}
|
||||||
|
|
||||||
# puts "<td>{$r(ulslot)}</td>"
|
if {[$event get usLcn] ne ""} {
|
||||||
puts "<td>$b</td><td>$name</td>"
|
puts "
|
||||||
puts "<td>[clock format $r(nduration) -format %T]</td>"
|
<td>[$event get usLcn]</td>
|
||||||
puts "<td>$r(usLcn)</td>"
|
<td>
|
||||||
puts "<td>[string range $r(szSvcName) 1 end]</td>"
|
<img src=\"/img/channels/[$event get szSvcName].png\"
|
||||||
if { $r(nsttime) < [clock seconds] } {
|
width=50>
|
||||||
puts "<td class=blood>"
|
</td>
|
||||||
|
<td nowrap>[$event get szSvcName]</td>
|
||||||
|
"
|
||||||
} else {
|
} else {
|
||||||
puts "<td>"
|
puts "<td colspan=3> <br><br></td>"
|
||||||
}
|
}
|
||||||
puts "[clock format $r(nsttime) -format {%c %Z}]</td>"
|
|
||||||
puts "<td>$rsvicon $RKIcon</td>"
|
puts "<td nowrap>$name</td>"
|
||||||
puts "<td>"
|
|
||||||
set crid [join [lrange [split $r(szCRID) "/"] 1 end]]
|
set s [$event get nsttime]
|
||||||
|
set d [$event get nduration]
|
||||||
|
set e $($s + $d)
|
||||||
|
set n [clock seconds]
|
||||||
|
|
||||||
|
if { $n > $e } {
|
||||||
|
puts "<td class=blood nowrap class=va>"
|
||||||
|
} else {
|
||||||
|
puts "<td nowrap class=va>"
|
||||||
|
}
|
||||||
|
puts "[clock format $s -format {%c %Z}]"
|
||||||
|
|
||||||
|
if {$d > 0 && $n > $s && $n < $e} {
|
||||||
|
puts "<br>"
|
||||||
|
set perc [expr [expr $n - $s] * 100 / $d]
|
||||||
|
puts "<img class=va src=/images/745_1_11_Video_1REC.png>"
|
||||||
|
puts [progressbar $perc]
|
||||||
|
}
|
||||||
|
|
||||||
|
puts "</td>"
|
||||||
|
|
||||||
|
puts "<td>[clock format [$event get nduration] -format %T]</td>"
|
||||||
|
|
||||||
|
puts "<td nowrap>$rsvicon $RKIcon</td>"
|
||||||
|
puts "<td nowrap>"
|
||||||
|
set crid [join [lrange [split [$event get szCRID] /] 1 end]]
|
||||||
if {$crid != ""} {
|
if {$crid != ""} {
|
||||||
puts -nonewline "<a href=/cgi-bin/epg_search.jim?"
|
puts -nonewline "<a href=/cgi-bin/epg_search.jim?"
|
||||||
if $series { puts -nonewline "s" }
|
if $series { puts -nonewline "s" }
|
||||||
puts "crid=/$crid>
|
puts "crid=/$crid>
|
||||||
<img border=0 src=/images/421_1_00_CH_Title_2R_Arrow.png
|
<img border=0 src=/images/421_1_00_CH_Title_2R_Arrow.png
|
||||||
height=14>
|
height=14>
|
||||||
$r(szCRID)"
|
[$event get szCRID]"
|
||||||
|
puts "</a>"
|
||||||
|
}
|
||||||
|
puts "</td>"
|
||||||
|
puts "<td nowrap>"
|
||||||
|
set flag 0
|
||||||
|
foreach ev [split [$event get szEventToRecord] "|"] {
|
||||||
|
if {$ev eq ""} { continue }
|
||||||
|
set ev [string range $ev 1 end]
|
||||||
|
if {$flag} { puts "<br>" }
|
||||||
|
incr flag
|
||||||
|
set crid [join [lrange [split $ev /] 1 end]]
|
||||||
|
puts -nonewline "<a href=/cgi-bin/epg_search.jim?"
|
||||||
|
puts "crid=/$crid>
|
||||||
|
<img border=0 src=/images/421_1_00_CH_Title_2R_Arrow.png
|
||||||
|
height=14>
|
||||||
|
$ev"
|
||||||
|
puts "</a>"
|
||||||
}
|
}
|
||||||
puts "</td>"
|
puts "</td>"
|
||||||
puts "</tr>"
|
puts "</tr>"
|
||||||
}
|
}
|
||||||
puts "</table>"
|
puts "</table>"
|
||||||
puts "<font class=footnote>Click on the CRID to view episodes.</font>"
|
puts "<font class=footnote>Click on the CRID to view episodes.</font>"
|
||||||
$db close
|
|
||||||
|
|
||||||
|
74
var/mongoose/lib/rsv.class
Executable file
74
var/mongoose/lib/rsv.class
Executable file
@ -0,0 +1,74 @@
|
|||||||
|
source /mod/var/mongoose/lib/setup
|
||||||
|
|
||||||
|
if {![exists -proc class ]} { package require oo }
|
||||||
|
if {![exists -proc sqlite3.open ]} { package require sqlite3 }
|
||||||
|
if {![exists -proc settings ]} { require settings.class }
|
||||||
|
|
||||||
|
set rsvdb [sqlite3.open /var/lib/humaxtv/rsv.db]
|
||||||
|
$rsvdb query {attach database '/var/lib/humaxtv/channel.db' as channel}
|
||||||
|
|
||||||
|
class rsv {
|
||||||
|
ulslot 0
|
||||||
|
ersvtype 0
|
||||||
|
hsvc 0
|
||||||
|
nsttime 0
|
||||||
|
szsttime 0
|
||||||
|
nduration 0
|
||||||
|
erepeat 0
|
||||||
|
usevtid 0
|
||||||
|
szevtname {}
|
||||||
|
ulPreOffset 0
|
||||||
|
ulPostOffset 0
|
||||||
|
ulProgramId 0
|
||||||
|
ulSeriesId 0
|
||||||
|
ucVolume 0
|
||||||
|
ucInputMode 0
|
||||||
|
usChNum 0
|
||||||
|
ucRecKind 0
|
||||||
|
ucCRIDType 0
|
||||||
|
szCRID {}
|
||||||
|
szFPBRecPath {}
|
||||||
|
szRecordedProgCrid {}
|
||||||
|
szEventToRecord {}
|
||||||
|
aulEventToRecordInfo {}
|
||||||
|
bRecomRsv 0
|
||||||
|
usLastRecordedEvtId 0
|
||||||
|
eReady 0
|
||||||
|
szSvcName {}
|
||||||
|
usLcn 0
|
||||||
|
sort 0
|
||||||
|
}
|
||||||
|
|
||||||
|
rsv method cleanstrings {} {
|
||||||
|
set szevtname [string range $szevtname 1 end]
|
||||||
|
if {[string first "i7" $szevtname] == 0} {
|
||||||
|
set szevtname [string range $szevtname 2 end]
|
||||||
|
}
|
||||||
|
set szSvcName [string range $szSvcName 1 end]
|
||||||
|
}
|
||||||
|
|
||||||
|
proc {rsv list} {} {
|
||||||
|
catch { $::rsvdb query {.mode tcl} }
|
||||||
|
|
||||||
|
set res [$::rsvdb query {
|
||||||
|
select tbl_reservation.*,
|
||||||
|
channel.TBL_SVC.szSvcName, channel.TBL_SVC.usLcn,
|
||||||
|
case when ersvtype > 3 then 1 else 0 end as sort
|
||||||
|
from tbl_reservation
|
||||||
|
left join channel.TBL_SVC
|
||||||
|
on main.TBL_RESERVATION.hSvc = channel.TBL_SVC.hSvc
|
||||||
|
order by sort, nsttime
|
||||||
|
}]
|
||||||
|
|
||||||
|
set records {}
|
||||||
|
foreach rec $res {
|
||||||
|
lappend records [rsv new $rec]
|
||||||
|
}
|
||||||
|
|
||||||
|
return $records
|
||||||
|
}
|
||||||
|
|
||||||
|
proc {rsv cleanup} {} {
|
||||||
|
catch {$::rsvdb close}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user