now really fixed the source formatting. brought to you by the magics of IRC-based pair programming
git-svn-id: http://code.djangoproject.com/svn/django/trunk@1407 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
eff2a1fde2
commit
ca683d8ca5
|
@ -12,7 +12,7 @@ def linebreak_iter(template_source):
|
||||||
yield 0
|
yield 0
|
||||||
p = template_source.find('\n')
|
p = template_source.find('\n')
|
||||||
while p >= 0:
|
while p >= 0:
|
||||||
yield p
|
yield p+1
|
||||||
p = template_source.find('\n', p+1)
|
p = template_source.find('\n', p+1)
|
||||||
yield len(template_source) + 1
|
yield len(template_source) + 1
|
||||||
|
|
||||||
|
@ -23,18 +23,17 @@ def get_template_exception_info(exc_type, exc_value, tb):
|
||||||
line = 0
|
line = 0
|
||||||
upto = 0
|
upto = 0
|
||||||
source_lines = []
|
source_lines = []
|
||||||
linebreaks = izip(count(0), linebreak_iter(template_source))
|
for num, next in enumerate(linebreak_iter(template_source)):
|
||||||
for num, next in linebreaks:
|
|
||||||
if start >= upto and end <= next:
|
if start >= upto and end <= next:
|
||||||
line = num
|
line = num
|
||||||
before = escape(template_source[upto+1:start])
|
before = escape(template_source[upto:start])
|
||||||
during = escape(template_source[start:end])
|
during = escape(template_source[start:end])
|
||||||
after = escape(template_source[end:next])
|
after = escape(template_source[end:next])
|
||||||
source_lines.append( (num, escape(template_source[upto+1:next])) )
|
source_lines.append( (num, escape(template_source[upto:next])) )
|
||||||
upto = next
|
upto = next
|
||||||
total = len(source_lines)
|
total = len(source_lines)
|
||||||
|
|
||||||
top = max(0, line - context_lines)
|
top = max(1, line - context_lines)
|
||||||
bottom = min(total, line + 1 + context_lines)
|
bottom = min(total, line + 1 + context_lines)
|
||||||
|
|
||||||
template_info = {
|
template_info = {
|
||||||
|
@ -323,7 +322,7 @@ TECHNICAL_500_TEMPLATE = """
|
||||||
<td>{{ template_info.before }}<span class="specific">{{ template_info.during }}</span>{{ template_info.after }}</td></tr>
|
<td>{{ template_info.before }}<span class="specific">{{ template_info.during }}</span>{{ template_info.after }}</td></tr>
|
||||||
{% else %}
|
{% else %}
|
||||||
<tr><th>{{ source_line.0 }}</th>
|
<tr><th>{{ source_line.0 }}</th>
|
||||||
<td> {{ source_line.1 }}</td></tr>
|
<td>{{ source_line.1 }}</td></tr>
|
||||||
{% endifequal %}
|
{% endifequal %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</table>
|
</table>
|
||||||
|
|
Loading…
Reference in New Issue