diff options
| author | Georg Brandl <georg@python.org> | 2010-06-20 14:23:59 +0200 |
|---|---|---|
| committer | Georg Brandl <georg@python.org> | 2010-06-20 14:23:59 +0200 |
| commit | 4823106e957b4152a071d46a8927171e3237b688 (patch) | |
| tree | 813baa9a88101334e6ccc449185dd14c3a865646 /sphinx/pycode | |
| parent | 94b6f591a3c91cc7a240a10032ad97291cab2bdd (diff) | |
| download | sphinx-4823106e957b4152a071d46a8927171e3237b688.tar.gz | |
#452: fix encoding handling in ModuleAnalyzer.
Diffstat (limited to 'sphinx/pycode')
| -rw-r--r-- | sphinx/pycode/__init__.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sphinx/pycode/__init__.py b/sphinx/pycode/__init__.py index b7473bf2..392a5575 100644 --- a/sphinx/pycode/__init__.py +++ b/sphinx/pycode/__init__.py @@ -190,6 +190,8 @@ class ModuleAnalyzer(object): self.srcname = srcname # file-like object yielding source lines self.source = source + # will be changed when found by parse() + self.encoding = sys.getdefaultencoding() # will be filled by tokenize() self.tokens = None @@ -216,15 +218,13 @@ class ModuleAnalyzer(object): self.parsetree = pydriver.parse_tokens(self.tokens) except parse.ParseError, err: raise PycodeError('parsing failed', err) - # find the source code encoding - encoding = sys.getdefaultencoding() + # find the source code encoding, if present comments = self.parsetree.get_prefix() for line in comments.splitlines()[:2]: match = _coding_re.search(line) if match is not None: - encoding = match.group(1) + self.encoding = match.group(1) break - self.encoding = encoding def find_attr_docs(self, scope=''): """Find class and module-level attributes and their documentation.""" |
