本文整理汇总了Python中quixote.html.TemplateIO类的典型用法代码示例。如果您正苦于以下问题:Python TemplateIO类的具体用法?Python TemplateIO怎么用?Python TemplateIO使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了TemplateIO类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: listkeywords
def listkeywords(base, kwlist, bigletter=False):
kwlist.sort()
r = TemplateIO(html=True)
if not kwlist:
return r
if len(kwlist) > 10:
divide = 'p'
else:
divide = 'span'
char = None
kwlist.sort()
for k in kwlist:
if k[0] != char:
if char:
r += H('</%s>\n' % divide)
r += H('<%s class="emphasize %s">\n' % (divide, bigletter and 'bigletter' or ''))
char = k[0]
r += H(' <a class="kw" href="%s%s/">%s</a>\n') % (base, k, k)
if char:
r += H('</%s>\n' % divide)
return r.getvalue()
示例2: _render_start
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()
示例3: _render_hidden_widgets
def _render_hidden_widgets(self, request):
r = TemplateIO(html=1)
for widget in self.widget_order:
if widget.widget_type == 'hidden':
r += widget.render(request)
r += self._render_error(self.error.get(widget.name))
return r.getvalue()
示例4: _q_index
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.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)
示例5: _render_submit_buttons
def _render_submit_buttons(self, request, ncols=3):
r = TemplateIO(html=1)
r += htmltext('<tr><td colspan="%d">\n') % ncols
for button in self.submit_buttons:
r += button.render(request)
r += htmltext('</td></tr>')
return r.getvalue()
示例6: _render_start
def _render_start(self):
r = TemplateIO(html=True)
r += htmltag('form', name=self.name, method=self.method,
enctype=self.enctype, action=self.action_url,
**self.attrs)
r += self._render_hidden_widgets()
return r.getvalue()
示例7: _render_finish
def _render_finish(self):
r = TemplateIO(html=True)
r += htmltext('</form><br class="quixoteform" />')
code = get_request().response.javascript_code
if code:
r += self._render_javascript(code)
return r.getvalue()
示例8: _render_body
def _render_body(self):
r = TemplateIO(html=True)
if self.has_errors():
r += self._render_error_notice()
r += self._render_widgets()
r += self._render_submit_widgets()
return r.getvalue()
示例9: _render_submit_widgets
def _render_submit_widgets(self):
r = TemplateIO(html=True)
if self.submit_widgets:
r += htmltext('<div class="submit">')
for widget in self.submit_widgets:
r += widget.render()
r += htmltext('</div><br class="submit" />')
return r.getvalue()
示例10: editdetails
def editdetails(self, request, p):
form = form2.Form(name='editdetails')
form.add(form2.StringWidget, name='title', size=50,
value=p.title or '', title='Title')
form.add(form2.StringWidget, name='keywords', size=40,
value=', '.join([ k.word for k in p.keywords]),
title='Keywords')
form.add(form2.StringWidget, name='description', size=50,
value=p.description, title='Description')
# FIXME form layout
# form.add(form2.TextWidget, name='description', cols=50, rows=10,
# value=p.description, title='Description')
form.add(form2.SingleSelectWidget, name='owner', value=p.ownerID, title='Picture owner',
options=imagestore.form.userOptList())
form.add(form2.SingleSelectWidget, name='visibility',
value=p.visibility, title='Visibility',
options=[ s for s in ['public', 'restricted', 'private']])
(prev,next) = request.session.get_results_neighbours(p.id)
if next is not None:
form.add_submit('submit-next', H('Update picture and go to next >>'))
else:
form.add_submit('submit', 'Update picture details')
form.add_reset('reset', 'Revert changes')
if not form.is_submitted() or form.has_errors():
from image_page import detail_table
self.image.set_prevnext(request, p.id,
urlfn=lambda pic, size, s=self.image: s.edit.path(pic))
ret = TemplateIO(html=True)
ret += page.pre(request, 'Edit details', 'editdetails', trail=False)
ret += page.menupane(request)
ret += self.image.view_rotate_link(request, p, wantedit=True)
ret += detail_table(p)
ret += form.render()
ret += page.post()
ret = ret.getvalue()
else:
keywords = form['keywords']
keywords = imagestore.form.splitKeywords(keywords)
p.setKeywords(keywords)
p.visibility = form['visibility']
if form.get_submit() == 'submit-next' and next:
ret = quixote.redirect(self.image.edit.path(db.Picture.get(next)))
else:
ret = quixote.redirect(request.get_path())
return ret
示例11: upload
def upload(self, request):
form = self.upload_form(request)
if form.get_submit() != 'upload':
r = TemplateIO(html=True)
r += page.pre(request, 'Upload pictures', 'upload')
r += page.menupane(request)
r += form.render()
#r += H(request.dump_html())
r += page.post()
return r.getvalue()
else:
user = request.session.getuser()
start = calendar.int_day.rounddown(gmt())
end = calendar.int_day.roundup(gmt())
upload = db.Upload.select(AND(db.Upload.q.import_time >= start,
db.Upload.q.import_time < end,
db.Upload.q.userID == user.id,
db.Upload.q.collectionID == self.collection.db.id))
assert upload.count() == 0 or upload.count() == 1, \
'Should be only one Upload per day per user'
if upload.count() == 1:
u = upload[0]
else:
u = db.Upload(user=user, collection=self.collection.db)
c = int(form['camera'])
if c == -2:
camera = None # new camera
elif c == -1:
camera = None # guess
else:
camera = db.Camera.get(c)
numfiles = int(form['numfiles'])
keywords = form['keywords']
if keywords is not None:
keywords = splitKeywords(keywords)
print 'self.collection.db=%s' % self.collection.db
request.response.buffered=False
upload = self.do_upload(request,
[ (f.fp, f.base_filename)
for f in [ form['file.%d' % n]
for n in range(numfiles) ]
if f is not None],
user, camera, keywords, form['visibility'], u)
return quixote.http_response.Stream(upload)
示例12: render
def render(self, depth=0):
r = TemplateIO(html=True)
pfx = _p(depth)
r += H("%s<div %s>") % (pfx, self.tags())
self.renderitems(r, depth + 1, None)
r += H("\n%s</div>\n") % pfx
return r.getvalue()
示例13: render
def render(self):
"""() -> HTML text
Render a form as HTML.
"""
r = TemplateIO(html=True)
r += self._render_start()
r += self._render_body()
r += self._render_finish()
return r.getvalue()
示例14: _render_body
def _render_body(self, request):
r = TemplateIO(html=1)
r += htmltext('<table>')
r += self._render_error_notice(request)
r += self._render_required_notice(request)
r += self._render_visible_widgets(request)
r += self._render_submit_buttons(request)
r += htmltext('</table>')
return r.getvalue()
示例15: render_content
def render_content(self):
r = TemplateIO(html=True)
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()
return r.getvalue()