annotate pylons_app/lib/helpers.py @ 0:564e40829f80

initial commit.
author Marcin Kuzminski
date Thu, 18 Feb 2010 13:01:57 +0100
parents
children 2e1247e62c5b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
1 """Helper functions
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
2
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
3 Consists of functions to typically be used within templates, but also
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
4 available to Controllers. This module is available to both as 'h'.
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
5 """
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
6 from routes import redirect_to, url_for
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
7
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
8 from webhelpers.html import (literal, HTML, escape)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
9 from webhelpers.html.tools import (auto_link, button_to, highlight, js_obfuscate
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
10 , mail_to, strip_links, strip_tags, tag_re)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
11 from webhelpers.html.tags import (auto_discovery_link, checkbox, css_classes,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
12 end_form, file, form, hidden, image,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
13 javascript_link, link_to, link_to_if,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
14 link_to_unless, ol, required_legend,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
15 select, stylesheet_link,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
16 submit, text, textarea, title, ul, xml_declaration)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
17 from webhelpers.text import (chop_at, collapse, convert_accented_entities,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
18 convert_misc_characters, convert_misc_entities,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
19 lchop, plural, rchop, remove_formatting, replace_whitespace,
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
20 urlify)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
21
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
22 from webhelpers.pylonslib import Flash as _Flash
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
23 from webhelpers.pylonslib.secure_form import secure_form
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
24
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
25 #Custom helper here :)
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
26 class _Link(object):
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
27 '''
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
28 Make a url based on label and url with help of url_for
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
29 @param label:name of link if not defined url is used
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
30 @param url: the url for link
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
31 '''
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
32
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
33 def __call__(self, label = '', *url, **urlargs):
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
34 if label is None or '':
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
35 label = url
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
36 link_fn = link_to(label, url_for(*url, **urlargs))
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
37 return link_fn
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
38
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
39
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
40 class _GetError(object):
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
41
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
42 def __call__(self, field_name, form_errors):
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
43 tmpl = """<span class="error_msg">%s</span>"""
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
44 if form_errors and form_errors.has_key(field_name):
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
45 return literal(tmpl % form_errors.get(field_name))
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
46
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
47 link = _Link()
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
48 flash = _Flash()
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
49 get_error = _GetError()