#!/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

##################################################
## 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__ = 1644610942.716781
__CHEETAH_genTimestamp__ = 'Fri Feb 11 20:22:22 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/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
        
        for channel in VFFSL(SL,"channels",True): # generated from line 2, col 1
            write(u'''<div class="cht">
\t<div class="fr">
\t\t<div class="a">
''')
            if 'protection' in VFFSL(SL,"channel",True): # generated from line 6, col 3
                if VFFSL(SL,"channel.protection",True) == "0": # generated from line 7, col 4
                    if VFFSL(SL,"type",True) == "radio": # generated from line 8, col 5
                        write(u'''\t\t\t\t\t<a href="#" onclick=\'addTimer("","''')
                        _v = VFFSL(SL,"channel.ref",True) # u'$channel.ref' on line 9, col 40
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.ref')) # from line 9, col 40.
                        write(u'''","''')
                        _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 9, col 55
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 9, col 55.
                        write(u'''","")\' title="''')
                        _v = VFFSL(SL,"tstrings",True)['add_timer'] # u"$tstrings['add_timer']" on line 9, col 82
                        if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['add_timer']")) # from line 9, col 82.
                        write(u'''"><i class="fa fa-clock-o"></i></a>
''')
                    if VFFSL(SL,"channel.link",True) != "": # generated from line 11, col 5
                        write(u'''\t\t\t\t\t<a href="#" onclick=\'open_epg_dialog("''')
                        _v = VFFSL(SL,"channel.ref",True) # u'$channel.ref' on line 12, col 44
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.ref')) # from line 12, col 44.
                        write(u'''","''')
                        _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 12, col 59
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 12, col 59.
                        write(u'''")\' title="''')
                        _v = VFFSL(SL,"tstrings",True)['show_epg_for'] # u"$tstrings['show_epg_for']" on line 12, col 83
                        if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['show_epg_for']")) # from line 12, col 83.
                        write(u''' ''')
                        _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 12, col 109
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 12, col 109.
                        write(u'''"><i class="fa fa-list-alt"></i></a>
\t\t\t\t\t<a target="_blank" href=\'''')
                        _v = VFFSL(SL,"channel.link",True) # u'$channel.link' on line 13, col 31
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.link')) # from line 13, col 31.
                        write(u'''\' title="''')
                        _v = VFFSL(SL,"tstrings",True)['stream'] # u"$tstrings['stream']" on line 13, col 53
                        if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['stream']")) # from line 13, col 53.
                        write(u''' ''')
                        _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 13, col 73
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 13, col 73.
                        write(u'''"><i class="fa fa-desktop"></i></a>
''')
                    else: # generated from line 14, col 5
                        write(u'''\t\t\t\t\t<a href="#" onclick=\'open_epg_dialog("''')
                        _v = VFFSL(SL,"channel.ref",True) # u'$channel.ref' on line 15, col 44
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.ref')) # from line 15, col 44.
                        write(u'''","''')
                        _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 15, col 59
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 15, col 59.
                        write(u'''")\' title="''')
                        _v = VFFSL(SL,"tstrings",True)['show_epg_for'] # u"$tstrings['show_epg_for']" on line 15, col 83
                        if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['show_epg_for']")) # from line 15, col 83.
                        write(u''' ''')
                        _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 15, col 109
                        if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 15, col 109.
                        write(u'''"><i class="fa fa-list-alt"></i></a>
''')
                        if VFFSL(SL,"transcoding",True): # generated from line 16, col 6
                            write(u'''\t\t\t\t\t\t<a href="#" onclick=\'jumper8001("''')
                            _v = VFFSL(SL,"channel.ref",True) # u'$channel.ref' on line 17, col 40
                            if _v is not None: write(_filter(_v, rawExpr=u'$channel.ref')) # from line 17, col 40.
                            write(u'''", "''')
                            _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 17, col 56
                            if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 17, col 56.
                            write(u'''");\' title="''')
                            _v = VFFSL(SL,"tstrings",True)['stream'] # u"$tstrings['stream']" on line 17, col 81
                            if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['stream']")) # from line 17, col 81.
                            write(u''': ''')
                            _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 17, col 102
                            if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 17, col 102.
                            write(u'''"><i class="fa fa-desktop"></i></a>
\t\t\t\t\t\t<a href="#" onclick=\'jumper8002("''')
                            _v = VFFSL(SL,"channel.ref",True) # u'$channel.ref' on line 18, col 40
                            if _v is not None: write(_filter(_v, rawExpr=u'$channel.ref')) # from line 18, col 40.
                            write(u'''", "''')
                            _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 18, col 56
                            if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 18, col 56.
                            write(u'''");\' title="''')
                            _v = VFFSL(SL,"tstrings",True)['stream'] # u"$tstrings['stream']" on line 18, col 81
                            if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['stream']")) # from line 18, col 81.
                            write(u''' (''')
                            _v = VFFSL(SL,"tstrings",True)['transcoded'] # u"$tstrings['transcoded']" on line 18, col 102
                            if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['transcoded']")) # from line 18, col 102.
                            write(u'''): ''')
                            _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 18, col 128
                            if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 18, col 128.
                            write(u'''"><i class="fa fa-mobile"></i></a>
''')
                        else: # generated from line 19, col 6
                            write(u'''\t\t\t\t\t\t<a target="_blank" href="web/stream.m3u?ref=''')
                            _v = VFFSL(SL,"channel.ref",True) # u'$channel.ref' on line 20, col 51
                            if _v is not None: write(_filter(_v, rawExpr=u'$channel.ref')) # from line 20, col 51.
                            write(u'''&name=''')
                            _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 20, col 69
                            if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 20, col 69.
                            write(u'''&fname=''')
                            _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 20, col 89
                            if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 20, col 89.
                            write(u'''" title="''')
                            _v = VFFSL(SL,"tstrings",True)['stream'] # u"$tstrings['stream']" on line 20, col 111
                            if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['stream']")) # from line 20, col 111.
                            write(u''' ''')
                            _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 20, col 131
                            if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 20, col 131.
                            write(u'''"><i class="fa fa-desktop"></i></a>
''')
                else: # generated from line 23, col 4
                    write(u'''\t\t\t\t<a target="_blank" href=\'#\' title="''')
                    _v = VFFSL(SL,"tstrings",True)['locked'] # u"$tstrings['locked']" on line 24, col 40
                    if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['locked']")) # from line 24, col 40.
                    write(u'''"><i class="fa fa-lock"></i></a>
''')
            write(u'''\t\t</div>

\t\t<div class="b">
\t\t\t<span class="channel-name">
''')
            if 'protection' in VFFSL(SL,"channel",True): # generated from line 31, col 4
                if VFFSL(SL,"channel.protection",True) == "0": # generated from line 32, col 5
                    write(u'''\t\t\t\t\t<a href="#" onclick=\'zapChannel("''')
                    _v = VFFSL(SL,"channel.ref",True) # u'$channel.ref' on line 33, col 39
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.ref')) # from line 33, col 39.
                    write(u'''", "''')
                    _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 33, col 55
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 33, col 55.
                    write(u'''"); return false\' title="''')
                    _v = VFFSL(SL,"tstrings",True)['zap_to'] # u"$tstrings['zap_to']" on line 33, col 93
                    if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['zap_to']")) # from line 33, col 93.
                    write(u''' ''')
                    _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 33, col 113
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 33, col 113.
                    write(u'''">''')
                    _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 33, col 128
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 33, col 128.
                    write(u'''</a>
''')
                else: # generated from line 34, col 5
                    write(u'''\t\t\t\t\t<a href="#" onclick="return false" title="''')
                    _v = VFFSL(SL,"tstrings",True)['locked'] # u"$tstrings['locked']" on line 35, col 48
                    if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['locked']")) # from line 35, col 48.
                    write(u'''">''')
                    _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 35, col 69
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 35, col 69.
                    write(u'''</a>
''')
            else: # generated from line 37, col 4
                write(u'''\t\t\t\t''')
                _v = VFFSL(SL,"channel.name",True) # u'$channel.name' on line 38, col 5
                if _v is not None: write(_filter(_v, rawExpr=u'$channel.name')) # from line 38, col 5.
                write(u'''
''')
            write(u'''\t\t\t</span>
''')
            if VFFSL(SL,"channel.link",True) != "": # generated from line 41, col 4
                write(u'''\t\t\t\t<span class="channel-tag ST-IPTV">IPTV</span>
''')
            elif 'ns' in VFFSL(SL,"channel",True): # generated from line 43, col 4
                ns = "DVB-S"
                if 'DVB' in VFFSL(SL,"channel.ns",True): # generated from line 45, col 5
                    ns = VFFSL(SL,"channel.ns",True)
                write(u'''\t\t\t\t<span class="channel-tag ST-''')
                _v = VFFSL(SL,"channel.service_type",True) # u'$channel.service_type' on line 48, col 33
                if _v is not None: write(_filter(_v, rawExpr=u'$channel.service_type')) # from line 48, col 33.
                write(u'''">''')
                _v = VFFSL(SL,"channel.service_type",True) # u'$channel.service_type' on line 48, col 56
                if _v is not None: write(_filter(_v, rawExpr=u'$channel.service_type')) # from line 48, col 56.
                write(u'''</span><span class="channel-tag NS-''')
                _v = VFFSL(SL,"ns",True) # u'$ns' on line 48, col 112
                if _v is not None: write(_filter(_v, rawExpr=u'$ns')) # from line 48, col 112.
                write(u'''">''')
                _v = VFFSL(SL,"channel.ns",True) # u'$channel.ns' on line 48, col 117
                if _v is not None: write(_filter(_v, rawExpr=u'$channel.ns')) # from line 48, col 117.
                write(u'''</span>
''')
            write(u'''\t\t</div>
\t</div>

''')
            picon = True
            if VFFSL(SL,"showpicons",True) and 'now_title' not in VFFSL(SL,"channel",True): # generated from line 54, col 2
                if 'picon' in VFFSL(SL,"channel",True) and VFFSL(SL,"channel.picon",True) == "/images/default_picon.png": # generated from line 55, col 3
                    picon = False
            write(u'''
''')
            if 'protection' in VFFSL(SL,"channel",True) and VFFSL(SL,"channel.protection",True) == "0" and VFFSL(SL,"picon",True): # generated from line 60, col 2
                write(u'''\t<div>
''')
                if VFFSL(SL,"showpicons",True): # generated from line 62, col 3
                    write(u'''\t\t\t<div class="channel-picon">
\t\t\t\t<img class="pic" src="''')
                    _v = VFFSL(SL,"channel.picon",True) # u'$channel.picon' on line 64, col 27
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.picon')) # from line 64, col 27.
                    write(u'''" title="">
\t\t\t</div>
''')
                else: # generated from line 66, col 3
                    write(u'''\t\t\t<div style="display:none;"></div>
''')
                write(u'''\t\t<div class="channel-info">
''')
                if 'now_title' in VFFSL(SL,"channel",True): # generated from line 70, col 3
                    write(u'''\t\t\t<div class="tt">
\t\t\t\t<div class="a">
\t\t\t\t\t''')
                    _v = VFFSL(SL,"channel.now_begin",True) # u'$channel.now_begin' on line 73, col 6
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.now_begin')) # from line 73, col 6.
                    write(u''' &mdash; ''')
                    _v = VFFSL(SL,"channel.now_end",True) # u'$channel.now_end' on line 73, col 33
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.now_end')) # from line 73, col 33.
                    write(u''' &nbsp;&nbsp;&nbsp;
\t\t\t\t</div>
\t\t\t\t<div class="b">
\t\t\t\t\t<a href=\'#\' onclick="toggle_chan_des(\'''')
                    _v = VFFSL(SL,"channel.now_ev_id",True) # u'$channel.now_ev_id' on line 76, col 44
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.now_ev_id')) # from line 76, col 44.
                    write(u"""', '""")
                    _v = VFFSL(SL,"channel.ref",True) # u'$channel.ref' on line 76, col 66
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.ref')) # from line 76, col 66.
                    write(u"""', '""")
                    _v = VFFSL(SL,"channel.now_idp",True) # u'$channel.now_idp' on line 76, col 82
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.now_idp')) # from line 76, col 82.
                    write(u'''\'); return false" title="''')
                    _v = VFFSL(SL,"channel.now_title",True) # u'$channel.now_title' on line 76, col 123
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.now_title')) # from line 76, col 123.
                    write(u'''">''')
                    _v = VFFSL(SL,"channel.now_title",True) # u'$channel.now_title' on line 76, col 143
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.now_title')) # from line 76, col 143.
                    write(u'''</a>&nbsp;(+''')
                    _v = VFFSL(SL,"channel.now_left",True) # u'$channel.now_left' on line 76, col 173
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.now_left')) # from line 76, col 173.
                    write(u''' min)
\t\t\t\t</div>
\t\t\t</div>
\t\t\t<div class="tt">
\t\t\t\t<div class="c">
\t\t\t\t\t<div class="tcld ui-state-default" id="''')
                    _v = VFFSL(SL,"channel.now_idp",True) # u'$channel.now_idp' on line 81, col 45
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.now_idp')) # from line 81, col 45.
                    write(u'''">''')
                    _v = VFFSL(SL,"tstrings",True)['no_description_available'] # u"$tstrings['no_description_available']" on line 81, col 63
                    if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['no_description_available']")) # from line 81, col 63.
                    write(u'''</div>
\t\t\t\t</div>
\t\t\t</div>
\t\t\t<div class="tt">
\t\t\t\t<div class="c">
\t\t\t\t\t<div class="ui-progressbar ui-corner-all ui-widget ui-widget-content">
\t\t\t\t\t\t<div class="ui-progressbar-value ui-corner-left ui-widget-header" style="width: ''')
                    _v = VFFSL(SL,"channel.progress",True) # u'${channel.progress}' on line 87, col 87
                    if _v is not None: write(_filter(_v, rawExpr=u'${channel.progress}')) # from line 87, col 87.
                    write(u'''%;"></div>
\t\t\t\t\t</div>
\t\t\t\t</div>
\t\t\t</div>
\t\t\t<div class="tt">
\t\t\t\t<div class="a">
\t\t\t\t\t''')
                    _v = VFFSL(SL,"channel.next_begin",True) # u'$channel.next_begin' on line 93, col 6
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.next_begin')) # from line 93, col 6.
                    write(u''' &mdash; ''')
                    _v = VFFSL(SL,"channel.next_end",True) # u'$channel.next_end' on line 93, col 34
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.next_end')) # from line 93, col 34.
                    write(u''' &nbsp;&nbsp;&nbsp;
\t\t\t\t</div>
\t\t\t\t<div class="b">
\t\t\t\t\t<a href=\'#\' onclick="toggle_chan_des(\'''')
                    _v = VFFSL(SL,"channel.next_ev_id",True) # u'$channel.next_ev_id' on line 96, col 44
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.next_ev_id')) # from line 96, col 44.
                    write(u"""', '""")
                    _v = VFFSL(SL,"channel.ref",True) # u'$channel.ref' on line 96, col 67
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.ref')) # from line 96, col 67.
                    write(u"""', '""")
                    _v = VFFSL(SL,"channel.next_idp",True) # u'$channel.next_idp' on line 96, col 83
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.next_idp')) # from line 96, col 83.
                    write(u'''\'); return false" title="''')
                    _v = VFFSL(SL,"channel.next_title",True) # u'$channel.next_title' on line 96, col 125
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.next_title')) # from line 96, col 125.
                    write(u'''">''')
                    _v = VFFSL(SL,"channel.next_title",True) # u'$channel.next_title' on line 96, col 146
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.next_title')) # from line 96, col 146.
                    write(u'''</a>&nbsp;(''')
                    _v = VFFSL(SL,"channel.next_duration",True) # u'$channel.next_duration' on line 96, col 176
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.next_duration')) # from line 96, col 176.
                    write(u''' min)
\t\t\t\t</div>
\t\t\t</div>
\t\t\t<div class="tt">
\t\t\t\t<div class="c">
\t\t\t\t\t<div class="tcld ui-state-default" id="''')
                    _v = VFFSL(SL,"channel.next_idp",True) # u'$channel.next_idp' on line 101, col 45
                    if _v is not None: write(_filter(_v, rawExpr=u'$channel.next_idp')) # from line 101, col 45.
                    write(u'''">''')
                    _v = VFFSL(SL,"tstrings",True)['no_description_available'] # u"$tstrings['no_description_available']" on line 101, col 64
                    if _v is not None: write(_filter(_v, rawExpr=u"$tstrings['no_description_available']")) # from line 101, col 64.
                    write(u'''</div>
\t\t\t\t</div>
\t\t\t</div>
''')
                write(u'''\t\t</div>
\t</div>
''')
            write(u'''</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()


