diff options
| author | Malcolm Tredinnick <malcolm.tredinnick@gmail.com> | 2007-10-21 18:15:01 +0000 |
|---|---|---|
| committer | Malcolm Tredinnick <malcolm.tredinnick@gmail.com> | 2007-10-21 18:15:01 +0000 |
| commit | fcbde3cbe5bcfcb88825f28629709b60035d9c9f (patch) | |
| tree | 90e59ee846873fde5fbc2d467d498bc4eda8a26f | |
| parent | a1496b054a2b5182387053952980415543276f8f (diff) | |
Fixed #5712 -- Added more robustness to source code display in the debug view. Our behaviour is a bit more PEP 263 compliant now, too. Thanks, Thomas Güttler.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6585 bcc190cf-cafb-0310-a4f2-bffc1f526a37
| -rw-r--r-- | django/views/debug.py | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/django/views/debug.py b/django/views/debug.py index cf0b6b5a0b..717de1eb34 100644 --- a/django/views/debug.py +++ b/django/views/debug.py @@ -201,16 +201,15 @@ def _get_lines_from_file(filename, lineno, context_lines, loader=None, module_na if source is None: return None, [], None, [] - encoding=None + encoding = 'ascii' for line in source[:2]: - # File coding may be specified (and may not be UTF-8). Match - # pattern from PEP-263 (http://www.python.org/dev/peps/pep-0263/) + # File coding may be specified. Match pattern from PEP-263 + # (http://www.python.org/dev/peps/pep-0263/) match = re.search(r'coding[:=]\s*([-\w.]+)', line) if match: encoding = match.group(1) break - if encoding: - source = [unicode(sline, encoding) for sline in source] + source = [unicode(sline, encoding, 'replace') for sline in source] lower_bound = max(0, lineno - context_lines) upper_bound = lineno + context_lines |
