def render(self): r = TemplateIO(html=True) r += self.render_title(self.get_title()) add_element_widget = self.get_widget('add_element') for widget in self.get_widgets(): if widget is add_element_widget: continue r += widget.render() r += add_element_widget.render() r += self.render_hint(self.get_hint()) return r.getvalue()
def __call__(self, request): r = TemplateIO(html=0) file_name = request.get_path()[1:] # drop leading '/' r += header(get_title_from_path(file_name)) body = StaticFile.__call__(self, request) if isinstance(body, Stream): for hunk in body: r += hunk else: r += body r += footer() return r.getvalue()
def render(self, request, action_url): # render(request : HTTPRequest, # action_url : string) # -> HTML text # # Render a form as HTML. assert type(action_url) in (StringType, htmltext) r = TemplateIO(html=1) r += self._render_start(request, action_url, enctype=self.enctype, method=self.method) r += self._render_body(request) r += self._render_finish(request) return r.getvalue()
def _render_start(self, request, action, enctype=None, method='post', name=None): r = TemplateIO(html=1) r += htmltag('form', enctype=enctype, method=method, action=action, name=name) r += self._render_hidden_widgets(request) return r.getvalue()
def render_content(self): r = TemplateIO(html=True) for name in self.element_names: if name in ('add_element', 'added_elements'): continue key_widget = self.get_widget(name + 'key') value_widget = self.get_widget(name + 'value') r += htmltext('%s<div class="widget">: </div>%s') % ( key_widget.render(), value_widget.render()) if self.render_br: r += htmltext('<br clear="left" class="widget" />') r += htmltext('\n') r += self.get_widget('add_element').render() r += self.get_widget('added_elements').render() return r.getvalue()
def render(self): r = TemplateIO(html=True) classnames = '%s widget' % self.__class__.__name__ r += htmltext('<div class="%s">') % classnames r += self.render_title(self.get_title()) r += htmltext('<div class="content">') r += self.render_content() r += self.render_hint(self.get_hint()) r += self.render_error(self.get_error()) r += htmltext('</div>') r += htmltext('</div>') if self.render_br: r += htmltext('<br class="%s" />') % classnames r += htmltext('\n') return r.getvalue()
def _render_widget_row(self, request, widget): if widget.widget_type == 'hidden': return '' title = self.title[widget.name] or '' if self.required.get(widget.name): title = title + htmltext(' *') r = TemplateIO(html=1) r += htmltext('<tr><th colspan="3" align="left">') r += title r += htmltext('</th></tr>' '<tr><td> </td><td>') r += widget.render(request) r += htmltext('</td><td>') r += self._render_error(self.error.get(widget.name)) r += self._render_hint(self.hint.get(widget.name)) r += htmltext('</td></tr>') return r.getvalue()
def dump_request(request=None): if request is None: request = quixote.get_request() """Dump an HTTPRequest object as HTML.""" row_fmt = htmltext('<tr><th>%s</th><td>%s</td></tr>') r = TemplateIO(html=True) r += htmltext('<h3>form</h3>' '<table>') for k, v in request.form.items(): r += row_fmt % (k, v) r += htmltext('</table>' '<h3>cookies</h3>' '<table>') for k, v in request.cookies.items(): r += row_fmt % (k, v) r += htmltext('</table>' '<h3>environ</h3>' '<table>') for k, v in request.environ.items(): r += row_fmt % (k, v) r += htmltext('</table>') return r.getvalue()
def _q_index(self): """ If directory listings are allowed, generate a simple HTML listing of the directory's contents with each item hyperlinked; if the item is a subdirectory, place a '/' after it. If not allowed, return a page to that effect. """ if self.index_filenames: for name in self.index_filenames: try: obj = self._q_lookup(name) except errors.TraversalError: continue if (not isinstance(obj, StaticDirectory) and hasattr(obj, '__call__')): return obj() if self.list_directory: title = 'Index of %s' % quixote.get_path() r = TemplateIO(html=True) template = htmltext('<a href="%s">%s</a>%s\n') r += htmltext('<pre>') r += template % ('..', '..', '') files = os.listdir(self.path) files.sort() for filename in files: filepath = os.path.join(self.path, filename) marker = os.path.isdir(filepath) and "/" or "" r += template % (urllib.parse.quote(filename), filename, marker) r += htmltext('</pre>') body = r.getvalue() else: title = 'Directory listing denied' body = htmltext('<p>This directory does not allow its contents ' 'to be listed.</p>') return errors.format_page(title, body)
def _render_hidden_widgets(self): r = TemplateIO(html=True) for widget in self.hidden_widgets: r += widget.render() return r.getvalue()
def _render_visible_widgets(self, request): r = TemplateIO(html=1) for widget in self.widget_order: r += self._render_widget_row(request, widget) return r.getvalue()
def _render_finish(self, request): r = TemplateIO(html=1) r += htmltext('</form>') r += self._render_javascript(request) return r.getvalue()
def render_content(self): r = TemplateIO(html=True) for widget in self.get_widgets(): r += widget.render() return r.getvalue()