Show More
@@ -67,9 +67,9 b' class templater(object):' | |||||
67 | tmpl = self.cache[t] = file(self.map[t]).read() |
|
67 | tmpl = self.cache[t] = file(self.map[t]).read() | |
68 | return self.template(tmpl, self.filters, **m) |
|
68 | return self.template(tmpl, self.filters, **m) | |
69 |
|
69 | |||
70 | template_re = re.compile(r"#([a-zA-Z_][a-zA-Z0-9_]*)" |
|
70 | template_re = re.compile(r"[#{]([a-zA-Z_][a-zA-Z0-9_]*)" | |
71 | r"((%[a-zA-Z_][a-zA-Z0-9_]*)*)" |
|
71 | r"((%[a-zA-Z_][a-zA-Z0-9_]*)*)" | |
72 | r"((\|[a-zA-Z_][a-zA-Z0-9_]*)*)#") |
|
72 | r"((\|[a-zA-Z_][a-zA-Z0-9_]*)*)[#}]") | |
73 |
|
73 | |||
74 | def template(self, tmpl, filters={}, **map): |
|
74 | def template(self, tmpl, filters={}, **map): | |
75 | lm = map.copy() |
|
75 | lm = map.copy() | |
@@ -136,18 +136,34 b' def nl2br(text):' | |||||
136 | def obfuscate(text): |
|
136 | def obfuscate(text): | |
137 | return ''.join(['&#%d;' % ord(c) for c in text]) |
|
137 | return ''.join(['&#%d;' % ord(c) for c in text]) | |
138 |
|
138 | |||
|
139 | def domain(author): | |||
|
140 | f = author.find('@') | |||
|
141 | if f == -1: return '' | |||
|
142 | author = author[f+1:] | |||
|
143 | f = author.find('>') | |||
|
144 | if f >= 0: author = author[:f] | |||
|
145 | return author | |||
|
146 | ||||
|
147 | def person(author): | |||
|
148 | f = author.find('<') | |||
|
149 | if f == -1: return util.shortuser(author) | |||
|
150 | return author[:f].rstrip() | |||
|
151 | ||||
139 | common_filters = { |
|
152 | common_filters = { | |
140 | "escape": lambda x: cgi.escape(x, True), |
|
153 | "addbreaks": nl2br, | |
141 | "urlescape": urllib.quote, |
|
|||
142 | "strip": lambda x: x.strip(), |
|
|||
143 | "age": age, |
|
154 | "age": age, | |
144 | "date": lambda x: util.datestr(x), |
|
155 | "date": lambda x: util.datestr(x), | |
145 | "addbreaks": nl2br, |
|
156 | "escape": lambda x: cgi.escape(x, True), | |
|
157 | "firstline": (lambda x: x.splitlines(1)[0]), | |||
|
158 | "domain": domain, | |||
146 | "obfuscate": obfuscate, |
|
159 | "obfuscate": obfuscate, | |
|
160 | "permissions": (lambda x: x and "-rwxr-xr-x" or "-rw-r--r--"), | |||
|
161 | "person": person, | |||
|
162 | "rfc822date": lambda x: util.datestr(x, "%a, %d %b %Y %H:%M:%S"), | |||
147 | "short": (lambda x: x[:12]), |
|
163 | "short": (lambda x: x[:12]), | |
148 |
" |
|
164 | "strip": lambda x: x.strip(), | |
149 | "permissions": (lambda x: x and "-rwxr-xr-x" or "-rw-r--r--"), |
|
165 | "urlescape": urllib.quote, | |
150 | "rfc822date": lambda x: util.datestr(x, "%a, %d %b %Y %H:%M:%S"), |
|
166 | "user": util.shortuser, | |
151 | } |
|
167 | } | |
152 |
|
168 | |||
153 | def templatepath(name=None): |
|
169 | def templatepath(name=None): |
General Comments 0
You need to be logged in to leave comments.
Login now