Commit 995285e3 authored by Fred Drake's avatar Fred Drake

Moved all the imports to the top.

Use the methods on the AST object instead of module-level functions;
these have been implemented for a couple of versions now, and are
already used in the module documentation in preference to the
functions.
parent d81b1b0f
...@@ -5,10 +5,14 @@ section on using the parser module. Refer to the manual for a thorough ...@@ -5,10 +5,14 @@ section on using the parser module. Refer to the manual for a thorough
discussion of the operation of this code. discussion of the operation of this code.
""" """
import os
import parser
import symbol import symbol
import token import token
import types import types
from types import ListType, TupleType
def get_docs(fileName): def get_docs(fileName):
"""Retrieve information from the parse tree of a source file. """Retrieve information from the parse tree of a source file.
...@@ -17,12 +21,9 @@ def get_docs(fileName): ...@@ -17,12 +21,9 @@ def get_docs(fileName):
Name of the file to read Python source code from. Name of the file to read Python source code from.
""" """
source = open(fileName).read() source = open(fileName).read()
import os
basename = os.path.basename(os.path.splitext(fileName)[0]) basename = os.path.basename(os.path.splitext(fileName)[0])
import parser
ast = parser.suite(source) ast = parser.suite(source)
tup = parser.ast2tuple(ast) return ModuleInfo(ast.totuple(), basename)
return ModuleInfo(tup, basename)
class SuiteInfoBase: class SuiteInfoBase:
...@@ -112,8 +113,6 @@ class ModuleInfo(SuiteInfoBase, SuiteFuncInfo): ...@@ -112,8 +113,6 @@ class ModuleInfo(SuiteInfoBase, SuiteFuncInfo):
self._docstring = vars["docstring"] self._docstring = vars["docstring"]
from types import ListType, TupleType
def match(pattern, data, vars=None): def match(pattern, data, vars=None):
"""Match `data' to `pattern', with variable extraction. """Match `data' to `pattern', with variable extraction.
...@@ -189,6 +188,3 @@ DOCSTRING_STMT_PATTERN = ( ...@@ -189,6 +188,3 @@ DOCSTRING_STMT_PATTERN = (
)))))))))))))))), )))))))))))))))),
(token.NEWLINE, '') (token.NEWLINE, '')
)) ))
#
# end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment