Module Expr Str Assign NameStore Str Import alias alias alias alias alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias Import alias Import alias ImportFrom alias Assign NameStore Dict Expr Str Assign NameStore Dict Expr Str FunctionDef arguments args defaults body Expr Str Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad body Expr Str If BoolOpAnd CompareIs NameLoad NameLoad CompareIsNot NameLoad NameLoad CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad Call NameLoad NameLoad orelse If BoolOpAnd CompareIs NameLoad NameLoad CompareIs NameLoad NameLoad CompareIsNot NameLoad NameLoad body If NameLoad body Assign NameStore Call NameLoad NameLoad orelse Assign NameStore Call NameLoad NameLoad NameLoad orelse If BoolOpAnd CompareIs NameLoad NameLoad CompareIs NameLoad NameLoad body Pass orelse Raise Call NameLoad Str Assign NameStore Call NameLoad NameLoad If CompareIn NameLoad NameLoad body If BoolOpAnd NameLoad CompareIsNot NameLoad NameLoad body Assign AttributeStore SubscriptLoad NameLoad Index NameLoad attr Call NameLoad Call NameLoad Call NameLoad NameLoad Return SubscriptLoad NameLoad Index NameLoad Assign NameStore Call NameLoad NameLoad Assign SubscriptStore NameLoad Index NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Expr Call NameLoad NameLoad NameLoad keyword NameLoad If BoolOpAnd CompareIs AttributeLoad NameLoad attr NameLoad CompareIsNot NameLoad NameLoad body Assign AttributeStore NameLoad attr Call NameLoad NameLoad If BoolOpAnd NameLoad CompareIsNot NameLoad NameLoad body Assign AttributeStore NameLoad attr Call NameLoad Call NameLoad Call NameLoad NameLoad If BoolOpAnd CompareIs AttributeLoad NameLoad attr NameLoad CompareIsNot NameLoad NameLoad body Assign NameStore Call NameLoad AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad Assign AttributeStore NameLoad attr Call NameLoad BinOpAdd Call NameLoad NameLoad Str Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareIs NameLoad NameLoad body TryExcept body Assign NameStore Call NameLoad NameLoad keyword NameLoad handlers ExceptHandler type AttributeLoad NameLoad attr body Assign NameStore NameLoad Assign NameStore Call NameLoad keyword NameLoad keyword NameLoad keyword Str Assign SubscriptStore NameLoad Index NameLoad NameLoad If Call AttributeLoad NameLoad attr NameLoad body Expr Call NameLoad NameLoad NameLoad keyword NameLoad Assign AttributeStore NameLoad attr NameLoad orelse Assign NameStore Call NameLoad Call NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad If BoolOpAnd CompareIsNot NameLoad NameLoad Call AttributeLoad NameLoad attr NameLoad body Assign AttributeStore NameLoad attr Call NameLoad NameLoad Return NameLoad decorator_list Assign NameStore TupleLoad Str Str Str Str Str Str Str Str FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad NameLoad body Expr Str Expr Call AttributeLoad NameLoad attr NameLoad If Call NameLoad NameLoad Str body Assign AttributeStore NameLoad attr Call NameLoad AttributeLoad NameLoad attr If Call NameLoad NameLoad Str body TryExcept body Assign AttributeStore NameLoad attr Call NameLoad AttributeLoad NameLoad attr handlers ExceptHandler type NameLoad body Raise ExceptHandler body Pass If CompareIsNot AttributeLoad NameLoad attr NameLoad body TryExcept body Assign AttributeStore NameLoad attr Call NameLoad AttributeLoad NameLoad attr handlers ExceptHandler type NameLoad body Pass Assign AttributeStore NameLoad attr Dict If NameLoad body Return If Call NameLoad NameLoad Str body Assign AttributeStore NameLoad attr Call NameLoad NameLoad If Call NameLoad NameLoad Str body Assign AttributeStore NameLoad attr NameLoad TryExcept body Assign AttributeStore NameLoad attr ListComp Call NameLoad NameLoad comprehension NameStore AttributeLoad NameLoad attr handlers ExceptHandler type NameLoad body Raise ExceptHandler body Pass orelse Assign AttributeStore NameLoad attr NameLoad Assign NameStore AttributeLoad NameLoad attr If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad Call AttributeLoad Call NameLoad NameLoad attr Str Str If CompareGt Call NameLoad NameLoad Num body Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad If CompareIsNot NameLoad NameLoad body Assign AttributeStore NameLoad attr Call NameLoad NameLoad orelse Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr ListLoad If CompareNotIn AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad body Expr Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr NameLoad Assign NameStore NameLoad If Call NameLoad NameLoad Str body TryExcept body Assign NameStore Call NameLoad ListComp Call NameLoad NameLoad comprehension NameStore AttributeLoad NameLoad attr handlers ExceptHandler type NameLoad body Raise ExceptHandler body Pass Assign AttributeStore NameLoad attr Dict For NameStore Call NameLoad NameLoad body If CompareIn NameLoad NameLoad body Continue Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore Call NameLoad NameLoad If BoolOpAnd BoolOpOr BoolOpAnd CompareIsNot NameLoad NameLoad CompareEq NameLoad NameLoad BoolOpAnd CompareIsNot NameLoad NameLoad CompareIn NameLoad NameLoad UnaryOpNot Call AttributeLoad NameLoad attr NameLoad body Assign NameStore Call NameLoad NameLoad keyword NameLoad keyword NameLoad Assign NameStore Call NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword Str orelse If BoolOpAnd BoolOpOr CompareIs NameLoad NameLoad CompareIs AttributeLoad NameLoad attr NameLoad UnaryOpNot Call AttributeLoad NameLoad attr NameLoad body If Call NameLoad NameLoad body Continue Assign NameStore Call NameLoad NameLoad keyword NameLoad Assign NameStore Call NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword Str orelse Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword Str If CompareIsNot NameLoad NameLoad body If CompareIn NameLoad NameLoad body Assign AttributeStore NameLoad attr NameLoad If UnaryOpNot Call NameLoad NameLoad NameLoad body Assign AttributeStore NameLoad attr NameLoad orelse Assign AttributeStore NameLoad attr NameLoad Assign SubscriptStore AttributeLoad NameLoad attr Index NameLoad NameLoad Return NameLoad decorator_list Assign NameStore TupleLoad Str Str Str Str Str Str Str FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Expr Call AttributeLoad NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call NameLoad NameLoad Assign NameStore NameLoad If Call NameLoad NameLoad Str body TryExcept body Assign NameStore Call NameLoad ListComp Call NameLoad NameLoad comprehension NameStore AttributeLoad NameLoad attr handlers ExceptHandler type NameLoad body Raise ExceptHandler body Pass Assign AttributeStore NameLoad attr Call NameLoad Call NameLoad NameLoad Assign AttributeStore NameLoad attr ListLoad Assign NameStore Dict If Call NameLoad NameLoad Str body TryExcept body Assign NameStore Call NameLoad AttributeLoad NameLoad attr handlers ExceptHandler body Assign NameStore NameLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str Call NameLoad NameLoad Str Str If CompareIsNot NameLoad NameLoad body Assign AttributeStore NameLoad attr ListLoad For NameStore NameLoad body Assign NameStore Call NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad NameLoad attr For NameStore NameLoad body If Call NameLoad NameLoad Str body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr If BoolOpAnd CompareIs NameLoad NameLoad CompareNotIn AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad body Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Assign AttributeStore NameLoad attr Dict If Call NameLoad NameLoad Str body Assign NameStore BinOpMod Str Call NameLoad NameLoad Str Str For TupleStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr body If BoolOpAnd CompareIn NameLoad NameLoad CompareEq SubscriptLoad NameLoad Index NameLoad NameLoad body Continue If Call AttributeLoad NameLoad attr NameLoad body Assign NameStore SubscriptLoad NameLoad Slice BinOpSub Call NameLoad NameLoad Num If CompareIn NameLoad NameLoad body Continue Assign NameStore Call NameLoad NameLoad keyword NameLoad keyword NameLoad Assign NameStore Call NameLoad keyword NameLoad keyword NameLoad keyword NameLoad keyword Str If CompareIsNot NameLoad NameLoad body Assign AttributeStore NameLoad attr CompareIn NameLoad NameLoad Assign SubscriptStore AttributeLoad NameLoad attr Index NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Expr Call AttributeLoad NameLoad attr NameLoad If Call NameLoad NameLoad NameLoad body Assign NameStore AttributeLoad NameLoad attr orelse If Call NameLoad NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Num orelse If Call NameLoad NameLoad NameLoad body Assign NameStore AttributeLoad Call AttributeLoad NameLoad attr Num attr orelse Assign NameStore NameLoad Assign AttributeStore NameLoad attr Call NameLoad NameLoad If Call NameLoad NameLoad NameLoad body Assign TupleStore NameStore NameStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr BinOpMult ListLoad NameLoad Call NameLoad NameLoad If CompareIsNot NameLoad NameLoad body Assign NameStore BinOpSub Call NameLoad NameLoad Call NameLoad NameLoad For NameStore Call NameLoad Call NameLoad NameLoad body Assign NameStore Call NameLoad SubscriptLoad NameLoad Index NameLoad Assign SubscriptStore AttributeLoad NameLoad attr Index BinOpAdd NameLoad NameLoad NameLoad If BoolOpAnd Call NameLoad NameLoad NameLoad CompareIsNot AttributeLoad NameLoad attr NameLoad body Assign AttributeStore NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Slice Num Assign AttributeStore NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Slice Num If Call NameLoad NameLoad Str body Assign AttributeStore NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr orelse Assign AttributeStore NameLoad attr ListLoad Str Assign AttributeStore NameLoad attr ListLoad NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad If Call NameLoad NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad If Call NameLoad NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Expr Call AttributeLoad NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call NameLoad NameLoad keyword NameLoad If Call NameLoad NameLoad Str body Assign AttributeStore NameLoad attr Call NameLoad AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr Call NameLoad AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr Call NameLoad AttributeLoad NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return Call NameLoad NameLoad Call NameLoad NameLoad decorator_list Assign NameStore Call NameLoad ListLoad NameLoad NameLoad Expr Str FunctionDef arguments args NameParam defaults body Expr Str Expr Call AttributeLoad NameLoad attr NameLoad decorator_list Assign NameStore NameLoad FunctionDef arguments args NameParam defaults body Expr Str Global identifier If CompareIsNot NameLoad NameLoad body If NameLoad body Import alias Return Call NameLoad NameLoad AttributeLoad NameLoad attr orelse Return NameLoad orelse Assign NameStore NameLoad TryExcept body Return Call NameLoad NameLoad handlers ExceptHandler body Assign NameStore NameLoad Expr Call AttributeLoad NameLoad attr Str Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad Str NameLoad If CompareIs NameLoad NameLoad body Return NameLoad orelse If Call NameLoad NameLoad NameLoad body Return NameLoad orelse If Call NameLoad NameLoad NameLoad body TryExcept body Return Call NameLoad NameLoad Str handlers ExceptHandler type NameLoad body If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad If CompareIsNot NameLoad NameLoad body TryExcept body Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Return Call NameLoad NameLoad NameLoad handlers ExceptHandler type NameLoad body Raise ExceptHandler type NameLoad body Pass If Call NameLoad NameLoad Str body Assign NameStore AttributeLoad NameLoad attr orelse Assign NameStore Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad Return Call NameLoad NameLoad Str Return NameLoad orelse If CompareIs NameLoad NameLoad body Return NameLoad orelse If Call NameLoad NameLoad Str body Assign NameStore AttributeLoad NameLoad attr orelse Assign NameStore Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str If UnaryOpNot Call NameLoad NameLoad Str body Return NameLoad If Call NameLoad NameLoad NameLoad body TryExcept body Assign NameStore Call NameLoad AttributeLoad NameLoad attr keyword NameLoad If CompareIs Call NameLoad NameLoad NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad Return Call NameLoad BinOpAdd AttributeLoad NameLoad attr Str handlers ExceptHandler type AttributeLoad NameLoad attr body If Call NameLoad NameLoad Str body Assign NameStore BinOpMod Str AttributeLoad NameLoad attr Assign NameStore Call NameLoad Call NameLoad NameLoad orelse If Call NameLoad NameLoad body If CompareEq AttributeLoad NameLoad attr Str body Assign NameStore Call NameLoad AttributeLoad NameLoad attr keyword NameLoad orelse Assign NameStore Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr keyword NameLoad orelse If BoolOpAnd Call AttributeLoad NameLoad attr NameLoad CompareIsNot AttributeLoad NameLoad attr NameLoad CompareIs AttributeLoad NameLoad attr NameLoad UnaryOpNot Call AttributeLoad AttributeLoad NameLoad attr attr Str body Assign NameStore Call NameLoad AttributeLoad NameLoad attr If CompareIs NameLoad NameLoad body Return NameLoad Assign NameStore Call NameLoad NameLoad AttributeLoad NameLoad attr keyword NameLoad orelse If BoolOpAnd Call AttributeLoad NameLoad attr NameLoad UnaryOpNot Call AttributeLoad AttributeLoad NameLoad attr attr Str body Assign NameStore Call NameLoad AttributeLoad NameLoad attr If CompareIs NameLoad NameLoad body Return NameLoad Assign NameStore Call NameLoad NameLoad AttributeLoad NameLoad attr keyword NameLoad orelse If BoolOpAnd Call NameLoad NameLoad NameLoad UnaryOpNot Call AttributeLoad AttributeLoad NameLoad attr attr Str body Assign NameStore Call NameLoad NameLoad If CompareIs NameLoad NameLoad body Return NameLoad Assign NameStore Call NameLoad NameLoad AttributeLoad NameLoad attr keyword NameLoad orelse Return NameLoad Return Call NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If CompareIs NameLoad NameLoad body Return NameLoad If BoolOpAnd CompareEq Call NameLoad NameLoad Num Call NameLoad NameLoad SubscriptLoad NameLoad Index Num body Return NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr SubscriptLoad NameLoad Index Num If CompareIs NameLoad NameLoad body Return NameLoad For NameStore SubscriptLoad NameLoad Slice Num body TryExcept body Assign NameStore Call NameLoad NameLoad NameLoad handlers ExceptHandler body Return NameLoad If CompareIs NameLoad NameLoad body Return NameLoad orelse Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body TryExcept body Assign NameStore BinOpMod Str NameLoad If Call NameLoad NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad Return NameLoad handlers ExceptHandler body Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str If Call AttributeLoad NameLoad attr NameLoad body Return Call NameLoad AttributeLoad NameLoad attr orelse If Call NameLoad NameLoad body Return Call NameLoad AttributeLoad NameLoad attr orelse If BoolOpAnd Call AttributeLoad NameLoad attr NameLoad CompareIsNot AttributeLoad NameLoad attr NameLoad CompareIs AttributeLoad NameLoad attr NameLoad body Return Call NameLoad AttributeLoad AttributeLoad NameLoad attr attr orelse If Call AttributeLoad NameLoad attr NameLoad body Return Call NameLoad AttributeLoad AttributeLoad NameLoad attr attr orelse If Call AttributeLoad NameLoad attr NameLoad body Assign NameStore Call NameLoad NameLoad If CompareIs NameLoad NameLoad body Return NameLoad Return Call NameLoad NameLoad orelse Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str If Call NameLoad NameLoad Str body Return AttributeLoad NameLoad attr TryExcept body Assign NameStore Call AttributeLoad NameLoad attr NameLoad If NameLoad body Return AttributeLoad NameLoad attr handlers ExceptHandler type NameLoad body Raise ExceptHandler body Pass For NameStore Call AttributeLoad AttributeLoad NameLoad attr attr body If BoolOpAnd Call NameLoad NameLoad Str Call NameLoad NameLoad Str CompareIs AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Return AttributeLoad NameLoad attr Return NameLoad decorator_list Assign NameStore ListLoad FunctionDef arguments args NameParam NameParam NameParam defaults Num body Expr Str Expr Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body For TupleStore NameStore NameStore NameStore NameLoad body If Call NameLoad NameLoad body Return NameLoad orelse Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return Call NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return Call NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return Call NameLoad NameLoad NameLoad decorator_list Expr Call NameLoad AttributeLoad NameLoad attr NameLoad keyword Num Expr Call NameLoad NameLoad NameLoad keyword Num Expr Call NameLoad AttributeLoad NameLoad attr NameLoad keyword Num Expr Call NameLoad NameLoad NameLoad keyword Num TryExcept body Import alias Assign NameStore Call NameLoad AttributeLoad AttributeLoad NameLoad attr attr Delete NameDel FunctionDef arguments args NameParam defaults body Return Call NameLoad NameLoad NameLoad decorator_list Expr Call NameLoad NameLoad NameLoad keyword Num handlers ExceptHandler body Pass TryExcept body Import alias Assign NameStore Call NameLoad AttributeLoad AttributeLoad NameLoad attr attr Delete NameDel FunctionDef arguments args NameParam defaults body Return Call NameLoad NameLoad NameLoad decorator_list Expr Call NameLoad NameLoad NameLoad keyword Num handlers ExceptHandler body Pass FunctionDef arguments args NameParam NameParam defaults NameLoad body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore SubscriptLoad Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Index Num Assign NameStore SubscriptLoad Call AttributeLoad AttributeLoad NameLoad attr attr SubscriptLoad Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Index Num Index Num If CompareEq NameLoad Str body Assign TupleStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call NameLoad NameLoad If CompareIs NameLoad NameLoad body While Call NameLoad NameLoad body Assign TupleStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call NameLoad NameLoad NameLoad If CompareIsNot NameLoad NameLoad body Assign NameStore Call NameLoad AttributeLoad NameLoad attr NameLoad While CompareNotIn NameLoad TupleLoad NameLoad NameLoad body Assign NameStore SubscriptLoad Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Index Num Assign NameStore SubscriptLoad Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Index Num Assign NameStore AttributeLoad NameLoad attr Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Slice TryFinally body Expr Call AttributeLoad AttributeLoad NameLoad attr attr Num NameLoad Expr Call NameLoad Call NameLoad NameLoad If CompareIn Call NameLoad NameLoad AttributeLoad NameLoad attr body Return SubscriptLoad AttributeLoad NameLoad attr Index Call NameLoad NameLoad orelse Return Call NameLoad NameLoad finalbody Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call NameLoad NameLoad Return Call NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad TryExcept body Assign NameStore Call NameLoad SubscriptLoad NameLoad Index Num handlers ExceptHandler type NameLoad name NameStore body If CompareIs NameLoad NameLoad body Assign NameStore AttributeLoad NameLoad attr If CompareIn SubscriptLoad NameLoad Index Num NameLoad body TryExcept body Return Call NameLoad SubscriptLoad NameLoad Index SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Slice Num handlers ExceptHandler body Raise NameLoad orelse Raise For NameStore Call NameLoad Num Call NameLoad NameLoad body TryExcept body Return Call NameLoad NameLoad SubscriptLoad NameLoad Slice NameLoad handlers ExceptHandler type NameLoad body Pass Assign NameStore Call NameLoad Call AttributeLoad Str attr SubscriptLoad NameLoad Slice BinOpAdd NameLoad Num Assign NameStore Call NameLoad NameLoad SubscriptLoad NameLoad Slice Num BinOpAdd NameLoad Num Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore NameLoad For TupleStore NameStore NameStore Call NameLoad NameLoad body TryExcept body Assign NameStore Call NameLoad NameLoad NameLoad handlers ExceptHandler type NameLoad body Assign NameStore BinOpMod Str TupleLoad NameLoad Call AttributeLoad Str attr SubscriptLoad NameLoad Slice BinOpAdd Num NameLoad Raise Call NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Slice Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr Str Assign AttributeStore NameLoad attr AttributeStore NameLoad attr AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr AttributeStore NameLoad attr AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr ListLoad Str TryFinally body TryExcept body If CompareIs NameLoad NameLoad body Return Call NameLoad NameLoad orelse Return Call AttributeLoad NameLoad attr NameLoad NameLoad handlers ExceptHandler type NameLoad body Raise ExceptHandler body Assign TupleStore NameStore NameStore NameStore Call AttributeLoad NameLoad attr If CompareIs NameLoad NameLoad body Assign NameStore BinOpMod Str TupleLoad NameLoad orelse Assign NameStore BinOpMod Str TupleLoad AttributeLoad NameLoad attr NameLoad If CompareIsNot AttributeLoad NameLoad attr NameLoad body AugAssignAdd NameStore BinOpMod Str TupleLoad AttributeLoad AttributeLoad NameLoad attr attr Raise Call NameLoad NameLoad finalbody Expr Call AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str If CompareIsNot AttributeLoad NameLoad attr NameLoad body Return AttributeLoad NameLoad attr If BoolOpAnd Call NameLoad NameLoad NameLoad CompareIsNot AttributeLoad NameLoad attr NameLoad body TryExcept body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr If UnaryOpNot Call NameLoad NameLoad NameLoad body AugAssignAdd NameStore Num For NameStore Call NameLoad NameLoad Call NameLoad NameLoad body If Call AttributeLoad SubscriptLoad Call AttributeLoad SubscriptLoad NameLoad Index NameLoad attr Str Num Index Num attr body Assign AttributeStore NameLoad attr BinOpAdd NameLoad Num Return BinOpAdd NameLoad Num handlers ExceptHandler type NameLoad body Pass ExceptHandler type NameLoad body Pass ExceptHandler type NameLoad body Expr Call AttributeLoad NameLoad attr BinOpMod Str AttributeLoad NameLoad attr Return NameLoad decorator_list ClassDef bases body Expr Str FunctionDef arguments args NameParam defaults body Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr Str Assign AttributeStore NameLoad attr Num Assign AttributeStore NameLoad attr Str decorator_list FunctionDef arguments args NameParam defaults body Pass decorator_list FunctionDef arguments args NameParam defaults body Pass decorator_list FunctionDef arguments args NameParam NameParam defaults Num body Return Str decorator_list FunctionDef arguments args NameParam NameParam defaults Num body Return Str decorator_list FunctionDef arguments args NameParam NameParam defaults Num body Return ListLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults Num body Pass decorator_list FunctionDef arguments args NameParam defaults body Return Num decorator_list FunctionDef arguments args NameParam NameParam defaults Num body Pass decorator_list FunctionDef arguments args NameParam NameParam defaults body Pass decorator_list FunctionDef arguments args NameParam NameParam defaults body Pass decorator_list Assign NameStore NameLoad decorator_list Assign NameStore Call NameLoad TryExcept body ImportFrom alias identifier Expr Call NameLoad NameLoad handlers ExceptHandler body Pass TryExcept body ImportFrom alias identifier Assign NameStore Call NameLoad NameLoad FunctionDef arguments args NameParam defaults body Return Call NameLoad NameLoad NameLoad decorator_list Expr Call NameLoad NameLoad NameLoad ImportFrom alias identifier ImportFrom alias identifier FunctionDef arguments args NameParam defaults body Return Call NameLoad NameLoad TupleLoad NameLoad NameLoad decorator_list Expr Call NameLoad NameLoad NameLoad handlers ExceptHandler body Pass Expr Num Expr Str
N/A N/A 
Extract API documentation about python objects by directly introspecting
their values.

The function L{introspect_docs()}, which provides the main interface
of this module, examines a Python objects via introspection, and uses
the information it finds to create an L{APIDoc} objects containing the
API documentation for that objects.

The L{register_introspecter()} method can be used to extend the
functionality of C{docintrospector}, by providing methods that handle
special value types.
 N/A __docformat__ epytext en N/A inspect re sys os.path imp epydoc.apidoc * types * epydoc log epydoc.util * N/A epydoc.docparser N/A __builtin__ epydoc.compat * N/A _valuedoc_cache N/A N/A A cache containing the API documentation for values that we've
already seen.  This cache is implemented as a dictionary that maps a
value's pyid to its L{ValueDoc}.

Note that if we encounter a value but decide not to introspect it
(because it's imported from another module), then C{_valuedoc_cache}
will contain an entry for the value, but the value will not be listed
in L{_introspected_values}. N/A _introspected_values N/A N/A A record which values we've introspected, encoded as a dictionary from
pyid to C{bool}. clear_cache N/A N/A N/A N/A N/A 
    Discard any cached C{APIDoc} values that have been computed for
    introspected values.
     N/A N/A N/A _valuedoc_cache clear N/A N/A N/A _introspected_values clear N/A introspect_docs N/A N/A value name filename context is_script module_name N/A None None None None False None N/A N/A 
    Generate the API documentation for a specified object by
    introspecting Python values, and return it as a L{ValueDoc}.  The
    object to generate documentation for may be specified using
    the C{value} parameter, the C{filename} parameter, I{or} the
    C{name} parameter.  (It is an error to specify more than one
    of these three parameters, or to not specify any of them.)

    @param value: The python object that should be documented.
    @param filename: The name of the file that contains the python
        source code for a package, module, or script.  If
        C{filename} is specified, then C{introspect} will return a
        C{ModuleDoc} describing its contents.
    @param name: The fully-qualified python dotted name of any
        value (including packages, modules, classes, and
        functions).  C{DocParser} will automatically figure out
        which module(s) it needs to import in order to find the
        documentation for the specified object.
    @param context: The API documentation for the class of module
        that contains C{value} (if available).
    @param module_name: The name of the module where the value is defined.
        Useful to retrieve the docstring encoding if there is no way to
        detect the module by introspection (such as in properties)
     N/A N/A N/A value None N/A name None N/A filename None N/A N/A value N/A get_value_from_name N/A DottedName name N/A N/A N/A N/A value None N/A name None N/A filename None N/A N/A is_script N/A N/A value N/A get_value_from_scriptname filename N/A N/A value N/A get_value_from_filename filename context N/A N/A N/A N/A name None N/A filename None N/A N/A N/A N/A N/A ValueError Expected exactly one of the following arguments: value, name, filename N/A pyid N/A id value N/A N/A pyid _introspected_values N/A N/A N/A is_script N/A filename None N/A N/A N/A N/A _valuedoc_cache N/A pyid canonical_name N/A DottedName N/A munge_script_name N/A str filename N/A N/A _valuedoc_cache N/A pyid N/A val_doc N/A _get_valuedoc value N/A N/A _introspected_values N/A pyid True N/A introspect_func N/A _get_introspecter value N/A N/A introspect_func value val_doc module_name module_name N/A N/A N/A N/A val_doc canonical_name UNKNOWN N/A name None N/A N/A N/A val_doc canonical_name N/A DottedName name N/A N/A is_script N/A filename None N/A N/A N/A val_doc canonical_name N/A DottedName N/A munge_script_name N/A str filename N/A N/A N/A N/A val_doc canonical_name UNKNOWN N/A filename None N/A N/A shadowed_name N/A DottedName N/A value __name__ N/A N/A N/A log warning N/A Module %s is shadowed by a variable with the same name. shadowed_name N/A N/A val_doc canonical_name N/A DottedName N/A N/A str shadowed_name ' N/A val_doc N/A _get_valuedoc N/A N/A value N/A N/A N/A 
    If a C{ValueDoc} for the given value exists in the valuedoc
    cache, then return it; otherwise, create a new C{ValueDoc},
    add it to the cache, and return it.  When possible, the new
    C{ValueDoc}'s C{pyval}, C{repr}, and C{canonical_name}
    attributes will be set appropriately.
     N/A pyid N/A id value N/A val_doc N/A N/A _valuedoc_cache get pyid N/A N/A val_doc None N/A N/A N/A N/A canonical_name N/A get_canonical_name value strict True N/A N/A N/A N/A DottedName InvalidDottedName N/A N/A canonical_name UNKNOWN N/A val_doc N/A ValueDoc pyval value canonical_name canonical_name docs_extracted_by introspecter N/A N/A _valuedoc_cache N/A pyid val_doc N/A N/A N/A inspect ismodule value N/A N/A N/A introspect_module value val_doc preliminary True N/A N/A val_doc defining_module val_doc N/A N/A module_name N/A str N/A get_containing_module value N/A module N/A N/A N/A sys modules get module_name N/A N/A N/A module None N/A N/A inspect ismodule module N/A N/A N/A val_doc defining_module N/A _get_valuedoc module N/A val_doc N/A N/A UNDOCUMENTED_MODULE_VARS N/A __builtins__ __doc__ __all__ __file__ __path__ __name__ __extra_epydoc_fields__ __docformat__ introspect_module N/A N/A module module_doc module_name preliminary N/A None False N/A N/A 
    Add API documentation information about the module C{module}
    to C{module_doc}.
     N/A N/A N/A module_doc specialize_to ModuleDoc N/A N/A hasattr module __docformat__ N/A N/A N/A module_doc docformat N/A unicode N/A module __docformat__ N/A N/A hasattr module __file__ N/A N/A N/A N/A N/A module_doc filename N/A unicode N/A module __file__ N/A N/A N/A KeyboardInterrupt N/A N/A N/A N/A N/A N/A N/A N/A module_doc filename UNKNOWN N/A N/A N/A N/A N/A module_doc filename N/A py_src_filename N/A module_doc filename N/A N/A N/A ValueError N/A N/A N/A N/A module_doc variables N/A N/A preliminary N/A N/A N/A N/A hasattr module __doc__ N/A N/A N/A module_doc docstring N/A get_docstring module N/A N/A hasattr module __path__ N/A N/A N/A module_doc is_package True N/A N/A N/A N/A module_doc path N/A N/A unicode p N/A p N/A module __path__ N/A N/A N/A KeyboardInterrupt N/A N/A N/A N/A N/A N/A N/A N/A module_doc is_package False N/A dotted_name N/A module_doc canonical_name N/A N/A dotted_name UNKNOWN N/A N/A dotted_name N/A DottedName N/A module __name__ N/A name_without_primes N/A DottedName N/A N/A N/A str dotted_name replace ' N/A N/A N/A len dotted_name 1 N/A N/A package_name N/A str N/A N/A dotted_name container N/A package N/A N/A N/A sys modules get package_name N/A N/A package None N/A N/A N/A module_doc package N/A introspect_docs package N/A N/A N/A module_doc package None N/A N/A module_doc submodules N/A N/A N/A N/A module_doc package N/A None UNKNOWN N/A N/A N/A N/A N/A N/A module_doc package submodules append module_doc N/A public_names None N/A N/A hasattr module __all__ N/A N/A N/A N/A public_names N/A set N/A N/A str name N/A name N/A module __all__ N/A N/A N/A KeyboardInterrupt N/A N/A N/A N/A N/A N/A N/A module_doc variables N/A N/A child_name N/A dir module N/A N/A N/A child_name UNDOCUMENTED_MODULE_VARS N/A N/A N/A child N/A getattr module child_name N/A container N/A get_containing_module child N/A N/A N/A N/A N/A container None N/A container name_without_primes N/A N/A public_names None N/A child_name public_names N/A N/A N/A inspect ismodule child N/A N/A child_val_doc N/A introspect_docs child context module_doc module_name dotted_name N/A child_var_doc N/A VariableDoc name child_name value child_val_doc is_imported False container module_doc docs_extracted_by introspecter N/A N/A N/A N/A N/A container None N/A N/A module_doc canonical_name UNKNOWN N/A N/A N/A inspect ismodule child N/A N/A N/A is_future_feature child N/A N/A N/A child_val_doc N/A introspect_docs child context module_doc N/A child_var_doc N/A VariableDoc name child_name value child_val_doc container module_doc docs_extracted_by introspecter N/A N/A child_val_doc N/A _get_valuedoc child N/A child_var_doc N/A VariableDoc name child_name value child_val_doc is_imported True container module_doc docs_extracted_by introspecter N/A N/A public_names None N/A N/A N/A child_name public_names N/A N/A N/A child_var_doc is_public True N/A N/A N/A isinstance child_var_doc ModuleDoc N/A N/A N/A child_var_doc is_imported False N/A N/A N/A child_var_doc is_public False N/A N/A N/A module_doc variables N/A child_name child_var_doc N/A module_doc N/A N/A UNDOCUMENTED_CLASS_VARS N/A __doc__ __module__ __dict__ __weakref__ __slots__ __pyx_vtable__ __metaclass__ introspect_class N/A N/A cls class_doc module_name N/A None N/A N/A 
    Add API documentation information about the class C{cls}
    to C{class_doc}.
     N/A N/A N/A class_doc specialize_to ClassDoc N/A N/A class_doc docstring N/A get_docstring cls N/A public_names None N/A N/A hasattr cls __all__ N/A N/A N/A N/A public_names N/A set N/A N/A str name N/A name N/A cls __all__ N/A N/A N/A KeyboardInterrupt N/A N/A N/A N/A N/A N/A N/A class_doc metaclass N/A introspect_docs N/A type cls N/A N/A class_doc subclasses N/A N/A base_children N/A N/A N/A hasattr cls __bases__ N/A N/A N/A N/A bases N/A list N/A cls __bases__ N/A N/A N/A N/A bases None N/A N/A N/A log warning N/A Class '%s' defines __bases__, but it does not contain an iterable; ignoring base list. N/A getattr cls __name__ ?? N/A N/A bases None N/A N/A N/A class_doc bases N/A N/A base bases N/A N/A basedoc N/A introspect_docs base N/A N/A N/A N/A class_doc bases append basedoc N/A N/A N/A N/A basedoc subclasses append class_doc N/A N/A N/A bases reverse N/A base bases N/A N/A N/A hasattr base __dict__ N/A N/A N/A N/A base_children update N/A base __dict__ N/A N/A N/A module_name None N/A N/A class_doc defining_module N/A None UNKNOWN N/A N/A module_name N/A N/A class_doc defining_module canonical_name N/A N/A class_doc variables N/A N/A N/A hasattr cls __dict__ N/A N/A private_prefix N/A _%s__ N/A getattr cls __name__ <none> N/A N/A child_name child N/A N/A N/A cls __dict__ items N/A N/A N/A N/A child_name base_children N/A N/A base_children N/A child_name child N/A N/A N/A N/A N/A child_name startswith private_prefix N/A N/A child_name N/A child_name N/A N/A N/A len private_prefix 2 N/A N/A child_name UNDOCUMENTED_CLASS_VARS N/A N/A N/A val_doc N/A introspect_docs child context class_doc module_name module_name N/A var_doc N/A VariableDoc name child_name value val_doc container class_doc docs_extracted_by introspecter N/A N/A public_names None N/A N/A N/A var_doc is_public N/A child_name public_names N/A N/A N/A class_doc variables N/A child_name var_doc N/A class_doc N/A introspect_routine N/A N/A routine routine_doc module_name N/A None N/A N/A Add API documentation information about the function
    C{routine} to C{routine_doc} (specializing it to C{Routine_doc}). N/A N/A N/A routine_doc specialize_to RoutineDoc N/A N/A isinstance routine MethodType N/A N/A func N/A routine im_func N/A N/A N/A isinstance routine staticmethod N/A N/A func N/A N/A routine __get__ 0 N/A N/A N/A isinstance routine classmethod N/A N/A func N/A N/A N/A routine __get__ 0 im_func N/A N/A func routine N/A N/A routine_doc docstring N/A get_docstring func N/A N/A isinstance func FunctionType N/A N/A N/A args vararg kwarg defaults N/A N/A inspect getargspec func N/A N/A routine_doc posargs args N/A N/A routine_doc vararg vararg N/A N/A routine_doc kwarg kwarg N/A N/A routine_doc posarg_defaults N/A N/A None N/A len args N/A N/A defaults None N/A N/A offset N/A N/A len args N/A len defaults N/A i N/A range N/A len defaults N/A N/A default_val N/A introspect_docs N/A defaults N/A i N/A N/A N/A routine_doc posarg_defaults N/A N/A i offset default_val N/A N/A N/A isinstance routine MethodType N/A N/A routine im_self None N/A N/A N/A routine_doc posargs N/A N/A routine_doc posargs N/A 1 N/A N/A routine_doc posarg_defaults N/A N/A routine_doc posarg_defaults N/A 1 N/A N/A hasattr func func_code N/A N/A N/A routine_doc lineno N/A N/A func func_code co_firstlineno N/A N/A N/A routine_doc posargs N/A ... N/A N/A routine_doc posarg_defaults N/A None N/A N/A routine_doc kwarg None N/A N/A routine_doc vararg None N/A N/A isinstance routine staticmethod N/A N/A N/A N/A routine_doc specialize_to StaticMethodDoc N/A N/A isinstance routine classmethod N/A N/A N/A N/A routine_doc specialize_to ClassMethodDoc N/A routine_doc N/A introspect_property N/A N/A prop prop_doc module_name N/A None N/A N/A Add API documentation information about the property
    C{prop} to C{prop_doc} (specializing it to C{PropertyDoc}). N/A N/A N/A prop_doc specialize_to PropertyDoc N/A N/A prop_doc docstring N/A get_docstring prop module_name module_name N/A N/A hasattr prop fget N/A N/A N/A prop_doc fget N/A introspect_docs N/A prop fget N/A N/A prop_doc fset N/A introspect_docs N/A prop fset N/A N/A prop_doc fdel N/A introspect_docs N/A prop fdel N/A prop_doc N/A introspect_other N/A N/A val val_doc module_name N/A None N/A N/A Specialize val_doc to a C{GenericValueDoc} and return it. N/A N/A N/A val_doc specialize_to GenericValueDoc N/A val_doc N/A isclass N/A N/A object N/A N/A N/A 
    Return true if the given object is a class.  In particular, return
    true if object is an instance of C{types.TypeType} or of
    C{types.ClassType}.  This is used instead of C{inspect.isclass()},
    because the latter returns true for objects that are not classes
    (in particular, it returns true for any object that has a
    C{__bases__} attribute, including objects that define
    C{__getattr__} to always return a value).
     N/A N/A isinstance object N/A tuple _CLASS_TYPES N/A N/A _CLASS_TYPES N/A set N/A TypeType ClassType N/A A list of types that should be treated as classes. register_class_type N/A N/A typ N/A N/A N/A Add a type to the lists of types that should be treated as
    classes.  By default, this list contains C{TypeType} and
    C{ClassType}. N/A N/A N/A _CLASS_TYPES add typ N/A N/A __future_check_works None is_future_feature N/A N/A object N/A N/A N/A 
    Return True if C{object} results from a C{from __future__ import feature}
    statement.
     N/A __future_check_works N/A N/A __future_check_works None N/A N/A __future_check_works N/A N/A __future__ N/A N/A isinstance object N/A __future__ _Feature N/A N/A False N/A N/A __future_check_works True N/A N/A N/A N/A is_future_feature object N/A N/A N/A N/A __future_check_works False N/A N/A N/A log warning Troubles inspecting __future__. Python implementation may have been changed. N/A False N/A get_docstring N/A N/A value module_name N/A None N/A N/A 
    Return the docstring for the given value; or C{None} if it
    does not have a docstring.
    @rtype: C{unicode}
     N/A docstring N/A getattr value __doc__ None N/A N/A docstring None N/A N/A None N/A N/A N/A isinstance docstring unicode N/A N/A docstring N/A N/A N/A isinstance docstring str N/A N/A N/A N/A N/A unicode docstring ascii N/A N/A N/A UnicodeDecodeError N/A N/A N/A module_name None N/A N/A module_name N/A get_containing_module value N/A N/A module_name None N/A N/A N/A N/A module N/A get_value_from_name module_name N/A filename N/A py_src_filename N/A module __file__ N/A encoding N/A N/A N/A epydoc docparser get_module_encoding filename N/A N/A unicode docstring encoding N/A N/A N/A KeyboardInterrupt N/A N/A N/A N/A Exception N/A N/A N/A N/A hasattr value __name__ N/A N/A name N/A value __name__ N/A N/A name N/A repr value N/A N/A N/A log warning N/A %s's docstring is not a unicode string, but it contains non-ascii data -- treating it as latin-1. name N/A N/A unicode docstring latin-1 N/A None N/A N/A N/A value BuiltinMethodType N/A N/A None N/A N/A N/A hasattr value __name__ N/A N/A name N/A value __name__ N/A N/A name N/A repr value N/A N/A N/A log warning N/A %s's docstring is not a string -- ignoring it. name N/A None N/A get_canonical_name N/A N/A value strict N/A False N/A N/A 
    @return: the canonical name for C{value}, or C{UNKNOWN} if no
    canonical name can be found.  Currently, C{get_canonical_name}
    can find canonical names for: modules; functions; non-nested
    classes; methods of non-nested classes; and some class methods
    of non-nested classes.
    
    @rtype: L{DottedName} or C{UNKNOWN}
     N/A N/A N/A hasattr value __name__ N/A N/A UNKNOWN N/A N/A isinstance value ModuleType N/A N/A N/A N/A dotted_name N/A DottedName N/A value __name__ strict strict N/A N/A N/A verify_name value dotted_name UNKNOWN N/A N/A N/A N/A log warning N/A Module %s is shadowed by a variable with the same name. dotted_name N/A N/A DottedName N/A N/A value __name__ ' N/A N/A N/A N/A DottedName InvalidDottedName N/A N/A N/A hasattr value __file__ N/A N/A filename N/A %s N/A value __str__ N/A dotted_name N/A DottedName N/A munge_script_name filename N/A N/A N/A isclass value N/A N/A N/A N/A value __module__ __builtin__ N/A N/A dotted_name N/A DottedName N/A value __name__ strict strict N/A N/A dotted_name N/A DottedName N/A value __module__ N/A value __name__ strict strict N/A N/A N/A N/A N/A inspect ismethod value N/A N/A value im_self None N/A N/A value im_class ClassType N/A N/A N/A N/A value __name__ startswith < N/A N/A class_name N/A get_canonical_name N/A value im_self N/A N/A class_name UNKNOWN N/A N/A UNKNOWN N/A dotted_name N/A DottedName class_name N/A value __name__ strict strict N/A N/A N/A N/A N/A inspect ismethod value N/A N/A N/A N/A value __name__ startswith < N/A N/A class_name N/A get_canonical_name N/A value im_class N/A N/A class_name UNKNOWN N/A N/A UNKNOWN N/A dotted_name N/A DottedName class_name N/A value __name__ strict strict N/A N/A N/A N/A isinstance value FunctionType N/A N/A N/A N/A value __name__ startswith < N/A N/A module_name N/A _find_function_module value N/A N/A module_name None N/A N/A UNKNOWN N/A dotted_name N/A DottedName module_name N/A value __name__ strict strict N/A N/A UNKNOWN N/A N/A verify_name value dotted_name N/A verify_name N/A N/A value dotted_name N/A N/A N/A 
    Verify the name.  E.g., if it's a nested class, then we won't be
    able to find it with the name we constructed.
     N/A N/A dotted_name UNKNOWN N/A N/A UNKNOWN N/A N/A N/A N/A len dotted_name 1 N/A hasattr __builtin__ N/A dotted_name N/A 0 N/A N/A dotted_name N/A named_value N/A N/A N/A sys modules get N/A dotted_name N/A 0 N/A N/A named_value None N/A N/A UNKNOWN N/A identifier N/A dotted_name N/A 1 N/A N/A N/A N/A named_value N/A getattr named_value identifier N/A N/A N/A N/A UNKNOWN N/A N/A value named_value N/A N/A dotted_name N/A N/A UNKNOWN N/A value_repr N/A N/A value N/A N/A N/A N/A N/A s N/A %r value N/A N/A isinstance s str N/A N/A s N/A decode_with_backslashreplace s N/A s N/A N/A N/A N/A UNKNOWN N/A get_containing_module N/A N/A value N/A N/A N/A 
    Return the name of the module containing the given value, or
    C{None} if the module name can't be determined.
    @rtype: L{DottedName}
     N/A N/A N/A inspect ismodule value N/A N/A N/A DottedName N/A value __name__ N/A N/A N/A isclass value N/A N/A N/A DottedName N/A value __module__ N/A N/A N/A N/A N/A inspect ismethod value N/A N/A value im_self None N/A N/A value im_class ClassType N/A N/A N/A DottedName N/A N/A value im_self __module__ N/A N/A N/A N/A inspect ismethod value N/A N/A N/A DottedName N/A N/A value im_class __module__ N/A N/A N/A N/A inspect isroutine value N/A N/A module N/A _find_function_module value N/A N/A module None N/A N/A None N/A N/A DottedName module N/A N/A None N/A _find_function_module N/A N/A func N/A N/A N/A 
    @return: The module that defines the given function.
    @rtype: C{module}
    @param func: The function whose module should be found.
    @type func: C{function}
     N/A N/A hasattr func __module__ N/A N/A N/A func __module__ N/A N/A N/A module N/A N/A inspect getmodule func N/A module N/A N/A N/A module __name__ N/A N/A N/A KeyboardInterrupt N/A N/A N/A N/A N/A N/A module N/A N/A N/A sys modules values N/A N/A N/A N/A hasattr module __dict__ N/A hasattr func func_globals N/A N/A func func_globals N/A module __dict__ N/A N/A N/A module __name__ N/A None N/A N/A _introspecter_registry N/A register_introspecter N/A N/A applicability_test introspecter priority N/A 10 N/A N/A 
    Register an introspecter function.  Introspecter functions take
    two arguments, a python value and a C{ValueDoc} object, and should
    add information about the given value to the the C{ValueDoc}.
    Usually, the first line of an inspecter function will specialize
    it to a sublass of C{ValueDoc}, using L{ValueDoc.specialize_to()}:

        >>> def typical_introspecter(value, value_doc):
        ...     value_doc.specialize_to(SomeSubclassOfValueDoc)
        ...     <add info to value_doc>

    @param priority: The priority of this introspecter, which determines
    the order in which introspecters are tried -- introspecters with lower
    numbers are tried first.  The standard introspecters have priorities
    ranging from 20 to 30.  The default priority (10) will place new
    introspecters before standard introspecters.
     N/A N/A N/A _introspecter_registry append N/A priority applicability_test introspecter N/A N/A N/A _introspecter_registry sort N/A _get_introspecter N/A N/A value N/A N/A N/A N/A priority applicability_test introspecter _introspecter_registry N/A N/A N/A applicability_test value N/A N/A introspecter N/A N/A introspect_other N/A is_classmethod N/A N/A v N/A N/A N/A N/A isinstance v classmethod N/A is_staticmethod N/A N/A v N/A N/A N/A N/A isinstance v staticmethod N/A is_property N/A N/A v N/A N/A N/A N/A isinstance v property N/A N/A N/A register_introspecter N/A inspect ismodule introspect_module priority 20 N/A N/A register_introspecter isclass introspect_class priority 24 N/A N/A register_introspecter N/A inspect isroutine introspect_routine priority 28 N/A N/A register_introspecter is_property introspect_property priority 30 N/A N/A N/A array N/A getset_type N/A type N/A N/A array array typecode N/A array is_getset N/A N/A v N/A N/A N/A N/A isinstance v getset_type N/A N/A N/A register_introspecter is_getset introspect_property priority 32 N/A N/A N/A N/A N/A N/A N/A datetime N/A member_type N/A type N/A N/A datetime timedelta days N/A datetime is_member N/A N/A v N/A N/A N/A N/A isinstance v member_type N/A N/A N/A register_introspecter is_member introspect_property priority 34 N/A N/A N/A N/A get_value_from_filename N/A N/A filename context N/A None N/A N/A filename N/A N/A N/A os path normpath N/A N/A N/A os path abspath filename N/A basedir N/A N/A N/A N/A os path split filename N/A 0 N/A name N/A N/A N/A N/A os path splitext N/A N/A N/A N/A os path split filename N/A 1 N/A 0 N/A N/A name __init__ N/A N/A N/A basedir name N/A N/A N/A os path split basedir N/A name N/A DottedName name N/A N/A context None N/A N/A N/A is_package_dir basedir N/A N/A N/A basedir pkg_name N/A N/A N/A os path split basedir N/A name N/A DottedName pkg_name name N/A N/A context None N/A N/A name N/A DottedName N/A context canonical_name name N/A N/A context N/A None UNKNOWN N/A N/A pkg_dir N/A N/A N/A N/A os path split N/A context filename N/A 0 N/A basedir N/A N/A N/A N/A os path split pkg_dir N/A 0 N/A context N/A context package N/A old_sys_path N/A N/A sys path N/A N/A N/A N/A N/A N/A N/A sys path insert 0 basedir N/A N/A _import N/A str name N/A N/A N/A str name N/A sys modules N/A N/A N/A N/A sys modules N/A N/A str name N/A N/A N/A get_value_from_name name N/A N/A N/A sys path old_sys_path N/A get_value_from_scriptname N/A N/A filename N/A N/A N/A name N/A munge_script_name filename N/A N/A _import name filename N/A get_value_from_name N/A N/A name globs N/A None N/A N/A 
    Given a name, return the corresponding value.
    
    @param globs: A namespace to check for the value, if there is no
        module containing the named value.  Defaults to __builtin__.
     N/A name N/A DottedName name N/A N/A N/A module N/A _import N/A name N/A 0 N/A N/A N/A ImportError N/A e N/A N/A N/A globs None N/A N/A globs N/A __builtin__ __dict__ N/A N/A N/A name N/A 0 globs N/A N/A N/A N/A N/A _lookup N/A globs N/A N/A name N/A 0 N/A name N/A 1 N/A N/A N/A N/A e N/A N/A N/A i N/A range 1 N/A len name N/A N/A N/A N/A N/A _lookup module N/A name N/A i N/A N/A N/A ImportError N/A N/A N/A module N/A _import N/A N/A . join N/A name N/A N/A i 1 N/A module N/A _lookup module N/A name N/A 1 N/A i 1 N/A module N/A _lookup N/A N/A module name N/A N/A N/A val module N/A N/A i identifier N/A enumerate name N/A N/A N/A N/A val N/A getattr val identifier N/A N/A N/A AttributeError N/A N/A exc_msg N/A no variable named %s in %s N/A identifier N/A N/A . join N/A name N/A N/A 1 i N/A N/A ImportError exc_msg N/A val N/A _import N/A N/A name filename N/A None N/A N/A 
    Run the given callable in a 'sandboxed' environment.
    Currently, this includes saving and restoring the contents of
    sys and __builtins__; and suppressing stdin, stdout, and stderr.
     N/A old_sys N/A N/A N/A sys __dict__ copy N/A old_sys_path N/A N/A sys path N/A N/A old_builtins N/A N/A N/A __builtin__ __dict__ copy N/A N/A N/A N/A sys path append N/A N/A sys stdin N/A sys stdout N/A sys stderr _dev_null N/A N/A sys __stdin__ N/A sys __stdout__ N/A sys __stderr__ _dev_null N/A N/A sys argv N/A (imported) N/A N/A N/A N/A N/A N/A filename None N/A N/A N/A __import__ name N/A N/A N/A N/A imp load_source name filename N/A N/A N/A KeyboardInterrupt N/A N/A N/A N/A N/A N/A exc_typ exc_val exc_tb N/A N/A sys exc_info N/A N/A exc_val None N/A N/A estr N/A %s N/A exc_typ N/A N/A estr N/A %s: %s N/A N/A exc_typ __name__ exc_val N/A N/A N/A exc_tb tb_next None N/A N/A estr N/A  (line %d) N/A N/A N/A exc_tb tb_next tb_lineno N/A N/A ImportError estr N/A N/A N/A N/A N/A __builtin__ __dict__ clear N/A N/A N/A N/A __builtin__ __dict__ update old_builtins N/A N/A N/A N/A sys __dict__ clear N/A N/A N/A N/A sys __dict__ update old_sys N/A N/A sys path old_sys_path N/A introspect_docstring_lineno N/A N/A api_doc N/A N/A N/A 
    Try to determine the line number on which the given item's
    docstring begins.  Return the line number, or C{None} if the line
    number can't be determined.  The line number of the first line in
    the file is 1.
     N/A N/A N/A api_doc docstring_lineno UNKNOWN N/A N/A N/A api_doc docstring_lineno N/A N/A N/A isinstance api_doc ValueDoc N/A N/A api_doc pyval UNKNOWN N/A N/A N/A N/A N/A lines lineno N/A N/A inspect findsource N/A api_doc pyval N/A N/A N/A isinstance api_doc ModuleDoc N/A N/A lineno 1 N/A lineno N/A range lineno N/A len lines N/A N/A N/A N/A N/A N/A N/A N/A lines N/A lineno split # 1 N/A 0 strip N/A N/A N/A api_doc docstring_lineno N/A lineno 1 N/A N/A lineno 1 N/A N/A N/A IOError N/A N/A N/A N/A TypeError N/A N/A N/A N/A IndexError N/A N/A N/A N/A log warning N/A inspect.findsource(%s) raised IndexError N/A api_doc canonical_name N/A None N/A _DevNull N/A N/A N/A 
    A "file-like" object that discards anything that is written and
    always reports end-of-file when read.  C{_DevNull} is used by
    L{_import()} to discard output when importing modules; and to
    ensure that stdin appears closed.
     __init__ N/A N/A self N/A N/A N/A N/A self closed 1 N/A N/A self mode r+ N/A N/A self softspace 0 N/A N/A self name </dev/null> N/A close N/A N/A self N/A N/A N/A N/A flush N/A N/A self N/A N/A N/A N/A read N/A N/A self size N/A 0 N/A N/A N/A readline N/A N/A self size N/A 0 N/A N/A N/A readlines N/A N/A self sizehint N/A 0 N/A N/A N/A N/A seek N/A N/A self offset whence N/A 0 N/A N/A N/A tell N/A N/A self N/A N/A N/A 0 N/A truncate N/A N/A self size N/A 0 N/A N/A N/A write N/A N/A self str N/A N/A N/A N/A writelines N/A N/A self sequence N/A N/A N/A N/A N/A xreadlines readlines N/A N/A _dev_null N/A _DevNull N/A N/A zope.interface.interface InterfaceClass _ZopeInterfaceClass N/A N/A register_class_type _ZopeInterfaceClass N/A N/A N/A N/A N/A N/A ExtensionClass ExtensionClass _ExtensionClass N/A _ZopeType N/A type _ExtensionClass _is_zope_type N/A N/A val N/A N/A N/A N/A isinstance val _ZopeType N/A N/A N/A register_introspecter _is_zope_type introspect_class ExtensionClass PythonMethodType _ZopeMethodType ExtensionClass ExtensionMethodType _ZopeCMethodType _is_zope_method N/A N/A val N/A N/A N/A N/A isinstance val N/A _ZopeMethodType _ZopeCMethodType N/A N/A N/A register_introspecter _is_zope_method introspect_routine N/A N/A N/A N/A N/A 0 N/A 
######################################################################
## Zope Extension...
######################################################################
class ZopeIntrospecter(Introspecter):
    VALUEDOC_CLASSES = Introspecter.VALUEDOC_CLASSES.copy()
    VALUEDOC_CLASSES.update({
        'module': ZopeModuleDoc,
        'class': ZopeClassDoc,
        'interface': ZopeInterfaceDoc,
        'attribute': ZopeAttributeDoc,
        })
    
    def add_module_child(self, child, child_name, module_doc):
        if isinstance(child, zope.interfaces.Interface):
            module_doc.add_zope_interface(child_name)
        else:
            Introspecter.add_module_child(self, child, child_name, module_doc)

    def add_class_child(self, child, child_name, class_doc):
        if isinstance(child, zope.interfaces.Interface):
            class_doc.add_zope_interface(child_name)
        else:
            Introspecter.add_class_child(self, child, child_name, class_doc)

    def introspect_zope_interface(self, interface, interfacename):
        pass # etc...
