From 0b4102632ec1eb874ae2e48317aa6b77fdfd3034 Mon Sep 17 00:00:00 2001 From: Stephan Reichholf Date: Sun, 28 Feb 2010 09:22:08 +0000 Subject: [PATCH] Minor improvements to WebTV and EPG-Objects. This fixes the (None) +NaN of NaN min in WebTVs ServiceList --- webinterface/src/__init__.py | 2 +- webinterface/src/web-data/objects.js | 34 +++++++++++++--------- webinterface/src/web-data/tools.js | 2 +- .../tpl/default/streaminterface/tplServiceList.htm | 4 +-- 4 files changed, 25 insertions(+), 17 deletions(-) diff --git a/webinterface/src/__init__.py b/webinterface/src/__init__.py index 464b5ab..4cdbac7 100644 --- a/webinterface/src/__init__.py +++ b/webinterface/src/__init__.py @@ -3,7 +3,7 @@ from Components.Language import language from Tools.Directories import resolveFilename, SCOPE_PLUGINS, SCOPE_LANGUAGE import os,gettext -__version__ = "1.6.1" +__version__ = "1.6.2" PluginLanguageDomain = "WebInterface" PluginLanguagePath = "Extensions/WebInterface/locale" diff --git a/webinterface/src/web-data/objects.js b/webinterface/src/web-data/objects.js index 87bb63f..91da8df 100644 --- a/webinterface/src/web-data/objects.js +++ b/webinterface/src/web-data/objects.js @@ -10,7 +10,10 @@ function getNodeContent(xml, nodename, defaultString){ if(retVal === "" || retVal === null){ return 'N/A'; - } + } else if (retVal === "None"){ + return ""; + } + return retVal; } catch(e){ if(typeof(defaultString) !== 'undefined') { @@ -33,9 +36,9 @@ function getNamedChildren(xml, parentname, childname){ //START class EPGEvent function EPGEvent(xml, number){ this.eventID = getNodeContent(xml, 'e2eventid', ''); - this.startTime = getNodeContent(xml, 'e2eventstart', ''); - this.duration = getNodeContent(xml, 'e2eventduration', ''); - this.currentTime = getNodeContent(xml, 'e2eventcurrenttime'), + this.startTime = parseNr(getNodeContent(xml, 'e2eventstart', '')); + this.duration = parseNr(getNodeContent(xml, 'e2eventduration', '')); + this.currentTime = parseNr(getNodeContent(xml, 'e2eventcurrenttime')), this.title = getNodeContent(xml, 'e2eventtitle', ''); this.serviceRef = getNodeContent(xml, 'e2eventservicereference', ''); this.serviceName = getNodeContent(xml, 'e2eventservicename', ''); @@ -56,7 +59,7 @@ function EPGEvent(xml, number){ return this.eventID; }; this.getTimeStart = function() { - var date = new Date(parseInt(this.startTime, 10)*1000); + var date = new Date(this.startTime *1000); return date; }; this.getTimeStartString = function() { @@ -80,11 +83,11 @@ function EPGEvent(xml, number){ return this.getTimeStart().getTime()/1000; }; this.getTimeEnd = function() { - var date = new Date((parseInt(this.startTime, 10)+parseInt(this.duration, 10))*1000); - return date.getTime()/1000; + var date = new Date(( this.startTime + this.duration ) * 1000); + return parseInt( date.getTime()/1000 ); }; this.getTimeEndString = function() { - var date = new Date((parseInt(this.startTime, 10)+parseInt(this.duration, 10))*1000); + var date = new Date(( this.startTime + this.duration ) * 1000); var h = date.getHours(); var m = date.getMinutes(); if (m < 10){ @@ -93,15 +96,20 @@ function EPGEvent(xml, number){ return h+":"+m; }; this.getDuration = function() { - var date = new Date(parseInt(this.duration, 10)*1000); + var date = new Date( this.duration * 1000); return date; }; this.getTimeRemainingString = function() { - if( parseInt(this.currentTime, 10) < parseInt(this.startTime, 10) ){ - return Math.ceil(this.getDuration()/60000); + + if( this.currentTime <= this.startTime ){ + return Math.ceil(this.getDuration() / 60000); } else { - var remaining = parseInt( ( (this.getTimeEnd() - parseInt(this.currentTime, 10) ) / 60), 10); - return remaining; + if( this.getTimeEnd() > 0){ + var remaining = Math.ceil( ( this.getTimeEnd() - this.currentTime ) / 60); + return remaining; + } else { + return this.getTimeEnd(); + } } }; diff --git a/webinterface/src/web-data/tools.js b/webinterface/src/web-data/tools.js index 1e848e7..a830885 100644 --- a/webinterface/src/web-data/tools.js +++ b/webinterface/src/web-data/tools.js @@ -158,7 +158,7 @@ function parseNr(num) { if(isNaN(num)){ return 0; } else { - return Number(num); + return parseInt(num); } } diff --git a/webinterface/src/web-data/tpl/default/streaminterface/tplServiceList.htm b/webinterface/src/web-data/tpl/default/streaminterface/tplServiceList.htm index 322a5fd..f565ec2 100644 --- a/webinterface/src/web-data/tpl/default/streaminterface/tplServiceList.htm +++ b/webinterface/src/web-data/tpl/default/streaminterface/tplServiceList.htm @@ -5,8 +5,8 @@ {for e in events} {/for} -- 2.7.4