~andrewsomething/loggerhead/doc-package

« back to all changes in this revision

Viewing changes to loggerhead/templatefunctions.py

  • Committer: Jelmer Vernooij
  • Date: 2011-03-28 09:57:07 UTC
  • mfrom: (182.148.5 upstream)
  • Revision ID: jelmer@samba.org-20110328095707-99a0bszvr75ngnqt
New upstream snapshot.

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
15
15
#
16
16
 
17
 
import cgi
18
17
import os
 
18
import urllib
19
19
 
20
20
import pkg_resources
21
21
 
23
23
 
24
24
import loggerhead
25
25
from loggerhead.zptsupport import zpt
 
26
from loggerhead.util import html_format
26
27
 
27
28
 
28
29
templatefunctions = {}
49
50
    if style == 'fragment':
50
51
        def file_link(filename):
51
52
            if currently_showing and filename == currently_showing:
52
 
                return '<b><a href="#%s">%s</a></b>' % (
53
 
                    cgi.escape(filename), cgi.escape(filename))
 
53
                return html_format(
 
54
                    '<b><a href="#%s">%s</a></b>',
 
55
                    urllib.quote(filename.encode('utf-8')), filename)
54
56
            else:
55
57
                return revision_link(
56
 
                    url, entry.revno, filename, '#' + filename)
 
58
                    url, entry.revno, filename,
 
59
                    '#' + urllib.quote(filename.encode('utf-8')))
57
60
    else:
58
61
        def file_link(filename):
59
 
            return '<a href="%s%s" title="View changes to %s in revision %s">%s</a>' % (
60
 
                url(['/revision', entry.revno]), '#' + filename, cgi.escape(filename),
61
 
                cgi.escape(entry.revno), cgi.escape(filename))
 
62
            return html_format(
 
63
                '<a href="%s%s" title="View changes to %s in revision %s">'
 
64
                '%s</a>',
 
65
                url(['/revision', entry.revno]),
 
66
                '#' + urllib.quote(filename.encode('utf-8')),
 
67
                filename, entry.revno, filename)
62
68
    return _pt('revisionfilechanges').expand(
63
69
        entry=entry, file_changes=file_changes, file_link=file_link, **templatefunctions)
64
70
 
122
128
 
123
129
@templatefunc
124
130
def view_link(url, revno, path):
125
 
    return '<a href="%s" title="Annotate %s">%s</a>' % (
126
 
        url(['/view', revno, path]), cgi.escape(path), cgi.escape(path))
 
131
    return html_format(
 
132
        '<a href="%s" title="Annotate %s">%s</a>',
 
133
        url(['/view', revno, path]), path, path)
 
134
 
127
135
 
128
136
@templatefunc
129
137
def revision_link(url, revno, path, frag=''):
130
 
    return '<a href="%s%s" title="View changes to %s in revision %s">%s</a>' % (
131
 
        url(['/revision', revno, path]), frag, cgi.escape(path),
132
 
        cgi.escape(revno), cgi.escape(path))
 
138
    return html_format(
 
139
        '<a href="%s%s" title="View changes to %s in revision %s">%s</a>',
 
140
        url(['/revision', revno, path]), frag, path, revno, path)
133
141
 
134
142
 
135
143
@templatefunc
186
194
 
187
195
        # TODO: On old Python versions, elementtree may be used.
188
196
 
189
 
        try:
190
 
            import simplejson
191
 
        except ImportError:
192
 
            pass
193
 
        else:
194
 
            versions.append(('simplejson', simplejson.__version__))
 
197
        import simplejson
 
198
        versions.append(('simplejson', simplejson.__version__))
195
199
 
196
200
        try:
197
201
            Dozer = pkg_resources.get_distribution('Dozer')