Author: ygrego Date: 2015-07-10 18:23:46 +0200 (Fri, 10 Jul 2015) New Revision: 1798 Url: http://forge.nuiton.org/projects/sandbox/repository/revisions/1798 Log: Transform channel xmltv data into oipf channel object. Added: oipf/lib/js/utils/ChannelHelper.js Added: oipf/lib/js/utils/ChannelHelper.js =================================================================== --- oipf/lib/js/utils/ChannelHelper.js (rev 0) +++ oipf/lib/js/utils/ChannelHelper.js 2015-07-10 16:23:46 UTC (rev 1798) @@ -0,0 +1,95 @@ +class ChannelHelper { + + constructor(jsonChannels) { + this.map = { + "display-name": "setName", + icon: "setLogoUrl" + }; + this.oipfChannels = []; + this.jsonChannels = jsonChannels; + + this.channelDefaultConf = { + name: "", + channelType: "TYPE_TV", + idType: 12, + ccid: null, + tunerID: null, + onid: null, + nid: null, + tsid: null, + sid: null, + sourceID: null, + freq: null, + cni: null, + majorChannel: null, + minorChannel: null, + dsd: "", + favourite: false, + favIDs: null, + locked: false, + manualBlock: true, + ipBroadcastID: null, + channelMaxBitRate: null, + channelTTR: null, + recordable: true, + longName: null, + description: null, + authorised: null, + genre: null, + hidden: false, + is3D: false, + isHD: false, + logoURL: "" + } + } + + getOipfChannels() { + + for (var i = 0, li = this.jsonChannels.length; i < li; i++) { + var channelItem = this.jsonChannels[i]; + var channelConf = {} + var channelItemKeys = Object.keys(channelItem); + + for (var j = 0, lj = channelItemKeys.length; j < lj; j++) { + var channelKey = channelItemKeys[j]; + + var channelKeyValue = channelItem[channelKey]; + + var methodToCall = this.map[channelKey]; + + if (methodToCall) { + this[methodToCall].call(this, channelKeyValue, channelConf); + } + } + + var oipfChannel = this.getDVBTChannel(channelConf); + + if (oipfChannel) { + this.oipfChannels.push(oipfChannel); + } else { + console.log("Error in channel creation"); + } + } + + return this.oipfChannels; + } + + setName(name, channelConf) { + channelConf.name = name || null; + } + + setLogoUrl(logoObject, channelConf) { + channelConf.logoURL = logoObject && logoObject.src || null; + } + + getDVBTChannel(channelConf) { + channelConf.onid = OipfUtils.generateFourDigit(); + channelConf.tsid = OipfUtils.generateFourDigit(); + channelConf.sid = OipfUtils.generateFourDigit(); + channelConf.idType = 12; + + return new Channel(channelConf); + } + +} +
participants (1)
-
ygregoï¼ users.nuiton.org