From 35ed1a5db52a3eb67dfcbc8ccbf7fb98ffc3e41d Mon Sep 17 00:00:00 2001
From: hummypkg <af123@hpkg.tv>
Date: Wed, 28 Jan 2015 00:08:09 +0000
Subject: [PATCH] update

git-svn-id: file:///root/webif/svn/pkg/webif/trunk@2258 2a923420-c742-0410-a762-8d5b09965624
---
 CONTROL/control                     |   4 ++--
 etc/recmon.d/webiflog               |  24 ++++++++++++++++++++++++
 webif/html/browse/file.jim          |   3 +++
 webif/html/browse/index.jim         |   6 +++++-
 webif/html/img/Video_Failed_New.png | Bin 0 -> 4489 bytes
 webif/lib/system.class              |   8 ++++++++
 webif/lib/ts.class                  |   3 ++-
 7 files changed, 44 insertions(+), 4 deletions(-)
 create mode 100755 etc/recmon.d/webiflog
 create mode 100644 webif/html/img/Video_Failed_New.png

diff --git a/CONTROL/control b/CONTROL/control
index 58c41a2..ab0678a 100644
--- a/CONTROL/control
+++ b/CONTROL/control
@@ -1,10 +1,10 @@
 Package: webif
 Priority: optional
 Section: web
-Version: 1.2.0-5
+Version: 1.2.0-6
 Architecture: mipsel
 Maintainer: af123@hummypkg.org.uk
-Depends: webif-channelicons(>=1.1.14),lighttpd(>=1.4.35-2),jim(>=0.75-1),jim-oo,jim-sqlite3(>=0.75),jim-cgi(>=0.7),jim-binary(>=0.75),service-control(>=2.1),busybox(>=1.20.2-1),lsof(>=4.87),epg(>=1.2.0),hmt(>=1.2.0),ssmtp,anacron,trm(>=1.1),openssl-command,nicesplice,id3v2,file,rsvsync(>=1.0.2),webif-charts(>=1.2-1),stripts(>=1.2.5-3),smartmontools,tmenu(>=1.08),ffmpeg,id3v2,multienv(>=1.6),tcpping(>=1.1),e2fsprogs,wireless-tools(>=29-1),dbupdate,mongoose
+Depends: webif-channelicons(>=1.1.14),lighttpd(>=1.4.35-2),jim(>=0.75-1),jim-oo,jim-sqlite3(>=0.75),jim-cgi(>=0.7),jim-binary(>=0.75),service-control(>=2.1),busybox(>=1.20.2-1),lsof(>=4.87),epg(>=1.2.0),hmt(>=2.0.0),ssmtp,anacron,trm(>=1.1),openssl-command,nicesplice,id3v2,file,rsvsync(>=1.0.2),webif-charts(>=1.2-1),stripts(>=1.2.5-3),smartmontools,tmenu(>=1.08),ffmpeg,id3v2,multienv(>=1.6),tcpping(>=1.1),e2fsprogs,wireless-tools(>=29-1),dbupdate,mongoose,recmon(>=2.0.2)
 Suggests:
 Description: An evolving web interface for the Humax.
 Tags: http://hummy.tv/forum/threads/5866/
diff --git a/etc/recmon.d/webiflog b/etc/recmon.d/webiflog
new file mode 100755
index 0000000..a7e3b1c
--- /dev/null
+++ b/etc/recmon.d/webiflog
@@ -0,0 +1,24 @@
+#!/mod/bin/jimsh
+
+source /mod/webif/lib/setup
+require ts.class system.class
+
+set file [lindex $argv 0]
+set ts [ts fetch "$file.ts"]
+set root [system mediaroot]
+
+set dir [file dirname $file]
+if {[string match "$root*" $dir]} {
+	set dir [string range $dir $([string length $root] + 1) end]
+}
+set ch [$ts get channel_name]
+set dur [$ts duration]
+set title [$ts get title]
+
+set msg "Recorded: $dir/$title ($dur minutes - $ch)"
+set logfd [open "/mod/tmp/record.log" "a+"]
+puts $logfd "[\
+    clock format [clock seconds] -format "%d/%m/%Y %H:%M"\
+    ] - $msg"
+$logfd close
+
diff --git a/webif/html/browse/file.jim b/webif/html/browse/file.jim
index 82c50e7..0fced0b 100755
--- a/webif/html/browse/file.jim
+++ b/webif/html/browse/file.jim
@@ -89,6 +89,9 @@ if {$type eq "ts"} {
 	<td>[$ts duration] minute(s).
 	    <font class=also>(Scheduled: [expr [$ts get scheddur] / 60])
 	    </font></td>
+</tr><tr>
+	<th>Status</th>
+	<td>[$ts get status]</td>
 </tr><tr>
 	<th>Resumes</th>
 	<td>[expr [$ts get resume] / 60] minutes into recording.
diff --git a/webif/html/browse/index.jim b/webif/html/browse/index.jim
index 2a1dcc3..e66eddd 100755
--- a/webif/html/browse/index.jim
+++ b/webif/html/browse/index.jim
@@ -117,7 +117,11 @@ proc entry {file} {{i 0}} {
 	if {$ext eq ".ts" && [file exists "${base}.nts"]} {
 		set type ts
 		set ts [ts fetch $file 1]
-		set img Video_TS
+		if {[$ts get status] eq "Valid/OK"} {
+			set img Video_TS
+		} else {
+			set img Video_Failed
+		}
 		set omenu opt
 		if {[file exists "${base}.thm"]} { set thmok 1 }
 	} elseif {$ext eq ".hmt"} {
diff --git a/webif/html/img/Video_Failed_New.png b/webif/html/img/Video_Failed_New.png
new file mode 100644
index 0000000000000000000000000000000000000000..f893cddfb2153d4f75e4a92d26716f9dbfe302ba
GIT binary patch
literal 4489
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
bAJ=~Y;eMbwB{Q(|00000NkvXXu0mjfq3D0h

literal 0
HcmV?d00001

diff --git a/webif/lib/system.class b/webif/lib/system.class
index b9f7d4f..d6ac9d3 100644
--- a/webif/lib/system.class
+++ b/webif/lib/system.class
@@ -134,6 +134,14 @@ proc {system mediaroot} {} {
 	return ""
 }
 
+proc {system dlnadb} {} {
+	switch [system model] {
+		HDR { return "/mnt/hd2/dms_cds.db" }
+		HD { return "/media/drive1/dms_cds.db" }
+	}
+	return ""
+}
+
 proc {system dustbin} {{short 0}} {
 	set dustbin "\[Deleted Items\]"
 	if {![catch {set fd [open "/mod/boot/dustbin.name" r]}]} {
diff --git a/webif/lib/ts.class b/webif/lib/ts.class
index 7ce560a..0148743 100644
--- a/webif/lib/ts.class
+++ b/webif/lib/ts.class
@@ -26,6 +26,7 @@ class ts {
 	scheddur	0
 	genre		0
 	resume		0
+	status		""
 }
 
 ts method bfile {} {
@@ -52,7 +53,7 @@ ts method _parse {line} {
 	lassign [split $line "\t"] \
 	    title synopsis definition channel_num channel_name \
 	    start end flags_list guidance bookmarks schedstart scheddur \
-	    genre resume
+	    genre resume status
 
 	set flags [split [string range $flags_list 0 end-1] ,]
 }