#!/usr/bin/env python




##################################################
## DEPENDENCIES
import sys
import os
import os.path
try:
    import builtins as builtin
except ImportError:
    import __builtin__ as builtin
from os.path import getmtime, exists
import time
import types
from Cheetah.Version import MinCompatibleVersion as RequiredCheetahVersion
from Cheetah.Version import MinCompatibleVersionTuple as RequiredCheetahVersionTuple
from Cheetah.Template import Template
from Cheetah.DummyTransaction import *
from Cheetah.NameMapper import NotFound, valueForName, valueFromSearchList, valueFromFrameOrSearchList
from Cheetah.CacheRegion import CacheRegion
import Cheetah.Filters as Filters
import Cheetah.ErrorCatchers as ErrorCatchers
from Plugins.Extensions.OpenWebif.controllers.i18n import tstrings
from Plugins.Extensions.OpenWebif.vtiaddon import showPicons, showPiconBackground

##################################################
## MODULE CONSTANTS
VFFSL=valueFromFrameOrSearchList
VFSL=valueFromSearchList
VFN=valueForName
currentTime=time.time
__CHEETAH_version__ = '2.4.4'
__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
__CHEETAH_genTime__ = 1644610943.616747
__CHEETAH_genTimestamp__ = 'Fri Feb 11 20:22:23 2022'
__CHEETAH_src__ = '/home/nonsolosat/openpli-dreambox-oe-core/build/tmp/work/dm7080-oe-linux/enigma2-plugin-extensions-openwebif/gitAUTOINC+81b15e17ab-r0/git/plugin/controllers/views/responsive/ajax/channels.tmpl'
__CHEETAH_srcLastModified__ = 'Fri Feb 11 20:05:52 2022'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'

if __CHEETAH_versionTuple__ < RequiredCheetahVersionTuple:
    raise AssertionError(
      'This template was compiled with Cheetah version'
      ' %s. Templates compiled before version %s must be recompiled.'%(
         __CHEETAH_version__, RequiredCheetahVersion))

##################################################
## CLASSES

class channels(Template):

    ##################################################
    ## CHEETAH GENERATED METHODS


    def __init__(self, *args, **KWs):

        super(channels, self).__init__(*args, **KWs)
        if not self._CHEETAH__instanceInitialized:
            cheetahKWArgs = {}
            allowedKWs = 'searchList namespaces filter filtersLib errorCatcher'.split()
            for k,v in KWs.items():
                if k in allowedKWs: cheetahKWArgs[k] = v
            self._initCheetahInstance(**cheetahKWArgs)
        

    def respond(self, trans=None):



        ## CHEETAH: main method generated for this template
        if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)):
            trans = self.transaction # is None unless self.awake() was called
        if not trans:
            trans = DummyTransaction()
            _dummyTrans = True
        else: _dummyTrans = False
        write = trans.response().write
        SL = self._CHEETAH__searchList
        _filter = self._CHEETAH__currentFilter
        
        ########################################
        ## START - generated method body
        
        write(u'''
''')
        piconCssClass = ''
        if VFFSL(SL,"showPiconBackground",True): # generated from line 5, col 1
            piconCssClass = 'picon--with-background'
        write(u'''
<!-- TODO: move styles to css file -->
<style>
''')
        if not VFFSL(SL,"shownownextcolumns",True): # generated from line 11, col 1
            write(u'''\t.now-next__details {
\t\tflex: 1 0 100%;
\t}
''')
        write(u'''</style>

<div class="table-responsive block-header">
\t<table class="now-next__grid table table-striped table-hover">

''')
        for channel in VFFSL(SL,"channels",True): # generated from line 21, col 1
            channelName = VFN(VFFSL(SL,"channel.name",True),"replace",False)("'", r"\'")
            isProtected = 'protection' in VFFSL(SL,"channel",True) and VFFSL(SL,"channel.protection",True) != "0"
            write(u'''
\t\t<tr id="sref-''')
            _v = VFN(VFFSL(SL,"channel.ref",True),"replace",False)(':', '_') # u"$channel.ref.replace(':', '_')" on line 25, col 16
            if _v is not None: write(_filter(_v, rawExpr=u"$channel.ref.replace(':', '_')")) # from line 25, col 16.
            write(u'''" class="channel-list__channel">
''')
            if '1:64:' in VFFSL(SL,"channel.ref",True): # generated from line 26, col 2
                write(u'''\t\t\t<td colspan="100%" class="now-next__header header bg--skinned">
\t\t\t\t<h2>''')
                _v = VFFSL(SL,"channelName",True) # u'$channelName' on line 28, col 9
                if _v is not None: write(_filter(_v, rawExpr=u'$channelName')) # from line 28, col 9.
                write(u'''</h2>
\t\t\t</td>
''')
            else: # generated from line 30, col 2
                if VFFSL(SL,"showPicons",True) and 'picon' in VFFSL(SL,"channel",True): # generated from line 31, col 1
                    piconHTML = '<img class="img-fluid" src="%s" alt="Channel logo" loading="lazy">' % VFFSL(SL,"channel.picon",True)
                    write(u'''\t\t\t<td class="now-next__picon ''')
                    _v = VFFSL(SL,"piconCssClass",True) # u'$piconCssClass' on line 33, col 31
                    if _v is not None: write(_filter(_v, rawExpr=u'$piconCssClass')) # from line 33, col 31.
                    write(u'''">
\t\t\t\t<div>
''')
                    if VFFSL(SL,"isProtected",True): # generated from line 35, col 4
                        write(u'''\t\t\t\t\t''')
                        _v = VFFSL(SL,"piconHTML",True) # u'$piconHTML' on line 36, col 6
                        if _v is not None: write(_filter(_v, rawExpr=u'$piconHTML')) # from line 36, col 6.
                        write(u'''
''')
                    else: # generated from line 37, col 4
                        write(u'''\t\t\t\t\t<a href="javascript:zapChannel(\'''')
                        _v = VFFSL(SL,"channel.ref",True) # u'$channel.ref' on line 38, col 38
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.ref')) # from line 38, col 38.
                        write(u"""', '""")
                        _v = VFFSL(SL,"channelName",True) # u'$channelName' on line 38, col 54
                        if _v is not None: write(_filter(_v, rawExpr=u'$channelName')) # from line 38, col 54.
                        write(u'''\');" title="''')
                        _v = VFFSL(SL,"tstrings",True)['zap_to'] # u"$tstrings['zap_to']" on line 38, col 78
                        if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['zap_to']")) # from line 38, col 78.
                        write(u''' ''')
                        _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 38, col 98
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 38, col 98.
                        write(u'''">''')
                        _v = VFFSL(SL,"piconHTML",True) # u'$piconHTML' on line 38, col 113
                        if _v is not None: write(_filter(_v, rawExpr=u'$piconHTML')) # from line 38, col 113.
                        write(u'''</a>
''')
                    write(u'''\t\t\t\t</div>
''')
                else: # generated from line 41, col 1
                    write(u'''\t\t\t<td style="width:0px;">
''')
                write(u'''\t\t\t</td>
\t\t\t<td class="now-next__channel">
\t\t\t\t<h2 class="now-next__channel-name">
''')
                if VFFSL(SL,"isProtected",True): # generated from line 47, col 4
                    write(u'''\t\t\t\t\t<span class="link--skinned" title="''')
                    _v = VFFSL(SL,"tstrings",True)['locked'] # u"$tstrings['locked']" on line 48, col 41
                    if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['locked']")) # from line 48, col 41.
                    write(u'''">''')
                    _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 48, col 62
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 48, col 62.
                    write(u'''</span>
''')
                else: # generated from line 49, col 4
                    write(u'''\t\t\t\t\t<a href="javascript:zapChannel(\'''')
                    _v = VFFSL(SL,"channel.ref",True) # u'$channel.ref' on line 50, col 38
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.ref')) # from line 50, col 38.
                    write(u"""', '""")
                    _v = VFFSL(SL,"channelName",True) # u'$channelName' on line 50, col 54
                    if _v is not None: write(_filter(_v, rawExpr=u'$channelName')) # from line 50, col 54.
                    write(u'''\');" class="link--skinned" title="''')
                    _v = VFFSL(SL,"tstrings",True)['zap_to'] # u"$tstrings['zap_to']" on line 50, col 100
                    if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['zap_to']")) # from line 50, col 100.
                    write(u''' ''')
                    _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 50, col 120
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 50, col 120.
                    write(u'''">''')
                    _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 50, col 135
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 50, col 135.
                    write(u'''</a>
''')
                write(u'''\t\t\t\t</h2>
\t\t\t\t<div class="now-next__channel__actions">
''')
                if VFFSL(SL,"isProtected",True): # generated from line 54, col 2
                    write(u'''\t\t\t\t\t<span class="link--not-skinned" target="_blank" title="''')
                    _v = VFFSL(SL,"tstrings",True)['locked'] # u"$tstrings['locked']" on line 55, col 61
                    if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['locked']")) # from line 55, col 61.
                    write(u'''"><i class="material-icons material-icons-centered">lock_outline</i></span>
''')
                else: # generated from line 56, col 2
                    if VFFSL(SL,"type",True) == "radio": # generated from line 57, col 3
                        write(u'''\t\t\t\t\t<!-- button type="button" onclick="addTimer(\'\',\'''')
                        _v = VFFSL(SL,"channel.ref",True) # u'$channel.ref' on line 58, col 54
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.ref')) # from line 58, col 54.
                        write(u"""','""")
                        _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 58, col 69
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 58, col 69.
                        write(u'''\',\'\');" class="link--not-skinned" title="''')
                        _v = VFFSL(SL,"tstrings",True)['add_timer'] # u"$tstrings['add_timer']" on line 58, col 123
                        if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['add_timer']")) # from line 58, col 123.
                        write(u'''"><i class="icon material-icons material-icons-centered">alarm_add</i></button -->
''')
                    write(u'''
\t\t\t\t\t<button type="button" onclick="zapChannel(\'''')
                    _v = VFFSL(SL,"channel.ref",True) # u'$channel.ref' on line 61, col 49
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.ref')) # from line 61, col 49.
                    write(u"""', '""")
                    _v = VFFSL(SL,"channelName",True) # u'$channelName' on line 61, col 65
                    if _v is not None: write(_filter(_v, rawExpr=u'$channelName')) # from line 61, col 65.
                    write(u'''\');" class="link--not-skinned" title="''')
                    _v = VFFSL(SL,"tstrings",True)['zap_to'] # u"$tstrings['zap_to']" on line 61, col 115
                    if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['zap_to']")) # from line 61, col 115.
                    write(u''' ''')
                    _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 61, col 135
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 61, col 135.
                    write(u'''"><i class="icon material-icons material-icons-centered">settings_remote</i></button>

''')
                    if VFFSL(SL,"channel.link",True) != "": # generated from line 63, col 3
                        write(u'''\t\t\t\t\t<a href="''')
                        _v = VFFSL(SL,"channel.link",True) # u'$channel.link' on line 64, col 15
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.link')) # from line 64, col 15.
                        write(u'''" class="now-next__external-link link--not-skinned" target="extlink" title="''')
                        _v = VFFSL(SL,"tstrings",True)['open_in_new_window'] # u"$tstrings['open_in_new_window']" on line 64, col 104
                        if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['open_in_new_window']")) # from line 64, col 104.
                        write(u'''"><i class="material-icons material-icons-centered">phonelink</i></a>
''')
                    else: # generated from line 65, col 3
                        epgDisabledState = ''
                        if not 'now_title' in VFFSL(SL,"channel",True): # generated from line 67, col 4
                            epgDisabledState = 'disabled'
                        write(u'''\t\t\t\t\t<button type="button" onclick="open_epg_dialog(\'''')
                        _v = VFFSL(SL,"channel.ref",True) # u'$channel.ref' on line 70, col 54
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.ref')) # from line 70, col 54.
                        write(u"""','""")
                        _v = VFFSL(SL,"channelName",True) # u'$channelName' on line 70, col 69
                        if _v is not None: write(_filter(_v, rawExpr=u'$channelName')) # from line 70, col 69.
                        write(u'''\');" ''')
                        _v = VFFSL(SL,"epgDisabledState",True) # u'$epgDisabledState' on line 70, col 86
                        if _v is not None: write(_filter(_v, rawExpr=u'$epgDisabledState')) # from line 70, col 86.
                        write(u''' class="link--not-skinned" title="''')
                        _v = VFFSL(SL,"tstrings",True)['show_epg_for'] # u"$tstrings['show_epg_for']" on line 70, col 137
                        if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['show_epg_for']")) # from line 70, col 137.
                        write(u''' ''')
                        _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 70, col 163
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 70, col 163.
                        write(u'''" data-toggle="modal" data-target="#EPGModal"><i class="icon material-icons material-icons-centered">view_list</i></button>
\t\t\t\t\t<button type="button" onclick="jumper8001(\'''')
                        _v = VFFSL(SL,"channel.ref",True) # u'$channel.ref' on line 71, col 49
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.ref')) # from line 71, col 49.
                        write(u"""', '""")
                        _v = VFFSL(SL,"channelName",True) # u'$channelName' on line 71, col 65
                        if _v is not None: write(_filter(_v, rawExpr=u'$channelName')) # from line 71, col 65.
                        write(u'''\');" class="link--not-skinned" title="''')
                        _v = VFFSL(SL,"tstrings",True)['stream'] # u"$tstrings['stream']" on line 71, col 115
                        if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['stream']")) # from line 71, col 115.
                        write(u''' ''')
                        _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 71, col 135
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 71, col 135.
                        write(u'''"><i class="icon material-icons material-icons-centered">ondemand_video</i></button>
''')
                        if VFFSL(SL,"transcoding",True): # generated from line 72, col 4
                            write(u'''\t\t\t\t\t<button type="button" onclick="jumper8002(\'''')
                            _v = VFFSL(SL,"channel.ref",True) # u'$channel.ref' on line 73, col 49
                            if _v is not None: write(_filter(_v, rawExpr=u'$channel.ref')) # from line 73, col 49.
                            write(u"""', '""")
                            _v = VFFSL(SL,"channelName",True) # u'$channelName' on line 73, col 65
                            if _v is not None: write(_filter(_v, rawExpr=u'$channelName')) # from line 73, col 65.
                            write(u'''\');" class="link--not-skinned" title="''')
                            _v = VFFSL(SL,"tstrings",True)['stream'] # u"$tstrings['stream']" on line 73, col 115
                            if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['stream']")) # from line 73, col 115.
                            write(u''' (''')
                            _v = VFFSL(SL,"tstrings",True)['transcoded'] # u"$tstrings['transcoded']" on line 73, col 136
                            if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['transcoded']")) # from line 73, col 136.
                            write(u''') ''')
                            _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 73, col 161
                            if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 73, col 161.
                            write(u'''"><i class="icon material-icons material-icons-centered">smartphone</i></button>
''')
                write(u'''\t\t\t\t</div>
\t\t\t</td>
\t\t\t<td class="now-next__info">
''')
                if (not VFFSL(SL,"isProtected",True)) and 'now_title' in VFFSL(SL,"channel",True): # generated from line 80, col 1
                    write(u'''\t\t\t\t<div class="now-next__details now-next__details--now">
\t\t\t\t\t<div class="now-next__metainfo">
\t\t\t\t\t\t<h2 class="now-next__title">
\t\t\t\t\t\t\t<a href="javascript:void(0);" onclick="loadeventepg(\'''')
                    _v = VFFSL(SL,"channel.now_ev_id",True) # u'$channel.now_ev_id' on line 84, col 61
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.now_ev_id')) # from line 84, col 61.
                    write(u"""', '""")
                    _v = VFFSL(SL,"channel.ref",True) # u'$channel.ref' on line 84, col 83
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.ref')) # from line 84, col 83.
                    write(u"""', '""")
                    _v = VFFSL(SL,"channel.picon",True) # u'$channel.picon' on line 84, col 99
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.picon')) # from line 84, col 99.
                    write(u'''\');" class="link--skinned" data-ref="''')
                    _v = VFFSL(SL,"channel.ref",True) # u'$channel.ref' on line 84, col 150
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.ref')) # from line 84, col 150.
                    write(u'''" data-id="''')
                    _v = VFFSL(SL,"channel.now_ev_id",True) # u'$channel.now_ev_id' on line 84, col 173
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.now_ev_id')) # from line 84, col 173.
                    write(u'''" data-toggle="modal" data-target="#EventModal" title="''')
                    _v = VFFSL(SL,"tstrings",True)['more_details'] # u"$tstrings['more_details']" on line 84, col 246
                    if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['more_details']")) # from line 84, col 246.
                    write(u'''">''')
                    _v = VFFSL(SL,"channel.now_title",True) # u'$channel.now_title' on line 84, col 273
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.now_title')) # from line 84, col 273.
                    write(u'''</a>
\t\t\t\t\t\t\t<span class="now-next__elapsed">(+''')
                    _v = VFFSL(SL,"channel.now_left",True) # u'$channel.now_left' on line 85, col 42
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.now_left')) # from line 85, col 42.
                    write(u''' ''')
                    _v = VFFSL(SL,"tstrings",True)['mins'] # u"$tstrings['mins']" on line 85, col 60
                    if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['mins']")) # from line 85, col 60.
                    write(u''')</span>
\t\t\t\t\t\t</h2>
\t\t\t\t\t\t<div class="now-next__time">
\t\t\t\t\t\t\t<time>''')
                    _v = VFFSL(SL,"channel.now_begin",True) # u'$channel.now_begin' on line 88, col 14
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.now_begin')) # from line 88, col 14.
                    write(u'''</time> &mdash; <time>''')
                    _v = VFFSL(SL,"channel.now_end",True) # u'$channel.now_end' on line 88, col 54
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.now_end')) # from line 88, col 54.
                    write(u'''</time>
\t\t\t\t\t\t</div>
\t\t\t\t\t\t<div class="now-next__progress progress">
\t\t\t\t\t\t\t<div class="progress-bar bg--skinned progress-bar-striped" role="progressbar" aria-valuenow="''')
                    _v = VFFSL(SL,"channel.progress",True) # u'${channel.progress}' on line 91, col 101
                    if _v is not None: write(_filter(_v, rawExpr=u'${channel.progress}')) # from line 91, col 101.
                    write(u'''" aria-valuemin="0" aria-valuemax="100" style="width:''')
                    _v = VFFSL(SL,"channel.progress",True) # u'${channel.progress}' on line 91, col 173
                    if _v is not None: write(_filter(_v, rawExpr=u'${channel.progress}')) # from line 91, col 173.
                    write(u'''%">
\t\t\t\t\t\t\t\t<span class="now-next__progress__percent">''')
                    _v = VFFSL(SL,"channel.progress",True) # u'${channel.progress}' on line 92, col 51
                    if _v is not None: write(_filter(_v, rawExpr=u'${channel.progress}')) # from line 92, col 51.
                    write(u'''%</span>
\t\t\t\t\t\t\t</div>
\t\t\t\t\t\t</div>
\t\t\t\t\t</div>
\t\t\t\t\t<div class="now-next__desc">
\t\t\t\t\t\t''')
                    _v = VFFSL(SL,"channel.now_shortdesc",True) # u'$channel.now_shortdesc' on line 97, col 7
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.now_shortdesc')) # from line 97, col 7.
                    write(u'''
\t\t\t\t\t</div>
\t\t\t\t</div>
''')
                else: # generated from line 100, col 1
                    write(u'''\t\t\t\t<div class="now-next__no-data">''')
                    _v = VFFSL(SL,"tstrings",True)['no_epg_data'] # u"$tstrings['no_epg_data']" on line 101, col 36
                    if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['no_epg_data']")) # from line 101, col 36.
                    write(u'''</div>
''')
                if (not VFFSL(SL,"isProtected",True)) and 'next_title' in VFFSL(SL,"channel",True): # generated from line 103, col 1
                    if VFFSL(SL,"channel.next_title",True) == "<<absent>>": # generated from line 104, col 3
                        write(u'''\t\t\t\t<div class="now-next__no-data">...</td>
''')
                    else: # generated from line 106, col 3
                        write(u'''\t\t\t\t<div class="now-next__details now-next__details--next">
\t\t\t\t\t<div class="now-next__metainfo">
\t\t\t\t\t\t<h2 class="now-next__title">
\t\t\t\t\t\t\t<a href="javascript:void(0);" onclick="loadeventepg(\'''')
                        _v = VFFSL(SL,"channel.next_ev_id",True) # u'$channel.next_ev_id' on line 110, col 61
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.next_ev_id')) # from line 110, col 61.
                        write(u"""', '""")
                        _v = VFFSL(SL,"channel.ref",True) # u'$channel.ref' on line 110, col 84
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.ref')) # from line 110, col 84.
                        write(u"""', '""")
                        _v = VFFSL(SL,"channel.picon",True) # u'$channel.picon' on line 110, col 100
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.picon')) # from line 110, col 100.
                        write(u'''\');" class="link--skinned" data-ref="''')
                        _v = VFFSL(SL,"channel.ref",True) # u'$channel.ref' on line 110, col 151
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.ref')) # from line 110, col 151.
                        write(u'''" data-id="''')
                        _v = VFFSL(SL,"channel.next_ev_id",True) # u'$channel.next_ev_id' on line 110, col 174
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.next_ev_id')) # from line 110, col 174.
                        write(u'''" data-toggle="modal" data-target="#EventModal" title="''')
                        _v = VFFSL(SL,"tstrings",True)['more_details'] # u"$tstrings['more_details']" on line 110, col 248
                        if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['more_details']")) # from line 110, col 248.
                        write(u'''">''')
                        _v = VFFSL(SL,"channel.next_title",True) # u'$channel.next_title' on line 110, col 275
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.next_title')) # from line 110, col 275.
                        write(u'''</a>
\t\t\t\t\t\t\t<span class="now-next__elapsed">(''')
                        _v = VFFSL(SL,"channel.next_duration",True) # u'$channel.next_duration' on line 111, col 41
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.next_duration')) # from line 111, col 41.
                        write(u''' ''')
                        _v = VFFSL(SL,"tstrings",True)['mins'] # u"$tstrings['mins']" on line 111, col 64
                        if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['mins']")) # from line 111, col 64.
                        write(u''')</span>
\t\t\t\t\t\t</h2>
\t\t\t\t\t\t<div class="now-next__time">
\t\t\t\t\t\t\t<time>''')
                        _v = VFFSL(SL,"channel.next_begin",True) # u'$channel.next_begin' on line 114, col 14
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.next_begin')) # from line 114, col 14.
                        write(u'''</time> &mdash; <time>''')
                        _v = VFFSL(SL,"channel.next_end",True) # u'$channel.next_end' on line 114, col 55
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.next_end')) # from line 114, col 55.
                        write(u'''</time>
\t\t\t\t\t\t</div>
\t\t\t\t\t</div>
\t\t\t\t\t<div class="now-next__desc">
\t\t\t\t\t\t''')
                        _v = VFFSL(SL,"channel.next_shortdesc",True) # u'$channel.next_shortdesc' on line 118, col 7
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.next_shortdesc')) # from line 118, col 7.
                        write(u'''
\t\t\t\t\t</div>
\t\t\t\t</div>
''')
                    #  #else
                    #  <div class="now-next__info now-next__no-data">$tstrings['no_epg_data']</div>
            write(u'''\t\t\t</td>
\t\t</tr>
''')
        write(u'''\t</table>
</div>
''')
        
        ########################################
        ## END - generated method body
        
        return _dummyTrans and trans.response().getvalue() or ""
        
    ##################################################
    ## CHEETAH GENERATED ATTRIBUTES


    _CHEETAH__instanceInitialized = False

    _CHEETAH_version = __CHEETAH_version__

    _CHEETAH_versionTuple = __CHEETAH_versionTuple__

    _CHEETAH_genTime = __CHEETAH_genTime__

    _CHEETAH_genTimestamp = __CHEETAH_genTimestamp__

    _CHEETAH_src = __CHEETAH_src__

    _CHEETAH_srcLastModified = __CHEETAH_srcLastModified__

    _mainCheetahMethod_for_channels= 'respond'

## END CLASS DEFINITION

if not hasattr(channels, '_initCheetahAttributes'):
    templateAPIClass = getattr(channels, '_CHEETAH_templateClass', Template)
    templateAPIClass._addCheetahPlumbingCodeToClass(channels)


# CHEETAH was developed by Tavis Rudd and Mike Orr
# with code, advice and input from many other volunteers.
# For more information visit http://www.CheetahTemplate.org/

##################################################
## if run from command line:
if __name__ == '__main__':
    from Cheetah.TemplateCmdLineIface import CmdLineIface
    CmdLineIface(templateObj=channels()).run()


