class _DbsIndexListElement(template.Element): loader = template.XMLFile( template_filepath.child('database-list.template.xhtml')) def __init__(self, dbs_resource): super(_DbsIndexListElement, self).__init__() self.__dbs_resource = dbs_resource @template.renderer def list_items(self, request, tag): for db_name in self.__dbs_resource.names: yield tag.clone().fillSlots(db_name=db_name, db_url='{}/'.format( urllib.quote(db_name, '')))
class _RadioIndexHtmlElement(EntryPointIndexElement): loader = template.XMLFile(template_filepath.child('index.template.xhtml')) @template.renderer def title(self, request, tag): return tag(self.entry_point_wcommon.title) @template.renderer def quoted_audio_url(self, request, tag): return tag( serialize( self.entry_point_wcommon.make_websocket_url( request, prepath_escaped(request) + 'audio')))
class _RadioIndexHtmlElement(template.Element): loader = template.XMLFile(template_filepath.child('index.template.xhtml')) def __init__(self, wcommon): super(_RadioIndexHtmlElement, self).__init__() self.__wcommon = wcommon @template.renderer def title(self, request, tag): return tag(self.__wcommon.title) @template.renderer def quoted_state_url(self, request, tag): return tag(serialize(self.__wcommon.make_websocket_url(request, prepath_escaped(request) + CAP_OBJECT_PATH_ELEMENT))) @template.renderer def quoted_audio_url(self, request, tag): return tag(serialize(self.__wcommon.make_websocket_url(request, prepath_escaped(request) + 'audio')))
class _BlockHtmlElement(template.Element): """ Template element for HTML page for an arbitrary block. """ loader = template.XMLFile(template_filepath.child('block.template.xhtml')) def __init__(self, wcommon): super(_BlockHtmlElement, self).__init__() self.__wcommon = wcommon @template.renderer def title(self, request, tag): return tag(request.prepath) @template.renderer def quoted_state_url(self, request, tag): return tag( serialize( self.__wcommon.make_websocket_url(request, prepath_escaped(request))))