epydoc.uid

Package epydoc :: Module uid |
[show private | hide private]
[frames | no frames]

## Module epydoc.uid

Unique identifiers and crossreference links for Python objects. Each Python object is identified by a globally unique identifier, implemented with the `UID` class. It is important that each object have a single unique identifier, because one object may have more than one name. UIDs should be always created using the `make_uid` function; do not create UIDs directly. The `Link` class uses UIDs to implement crossreferencing between `ObjDoc`s.

Bugs:

- UIDs are not generated correctly for nested classes; and in general, nested classes are not well supported. (E.g., they are listed under their module, not their containing class). The effect of this bug is that docstring "`L{links}`" that refer to the nested class using its normal name (e.g. `ContainerClass.NestedClass`) won't be resolved correctly. But you should be able to link to it with just `NestedClass`.
- `PropertyDoc` usually creates an incorrect UID for its fget, fset, and fdel accessors. This arises because they are represented as functions, not methods; so epydoc doesn't have any way to tell what class they were defined in. As a result, it just assumes that they were installed at the module level. The effect of this bug is that the hyperlinks from property accessor methods don't point to the right targets.

See Also: `epydoc.objdoc`

Classes
`ObjectUID` | A globally unique identifier used to refer to a Python object.
Unique Identifiers
`UID` | A globally unique identifier.
`RelativeUID` | A globally unique identifier used to refer to a variable, relative to a Python object.
`VariableUID` |
`PropertyUID` |
`StaticMethodUID` |
`ClassMethodUID` |
Crossreferences
`Link` | A cross-reference link between documentation.

Function Summary
| ``make_uid`(object, base_uid, shortname)` Create a globally unique identifier for the given object.
`UID` or `None` | ``findUID`(name, container, docmap)` Attempt to find the UID for the object that can be accessed with the name `name` from the module `module`.
`None` | ``reset_uid_cache`()` Reset the internal cache of UIDs for objects.
`module` | ``_find_builtin_obj_module`(obj, show_warnings)` Return the module that defines the given builtin object.
`UID` or `None` | ``_find_class_child`(name, container, docmap)` Search for a child object named `name` in the class whose UID is `container`, given the DocMap `docmap`.
`module` | ``_find_function_module`(func)` Return the module that defines the given function.
| `_find_name_in(obj, module)`
| ``_find_object_in_module`(name, module, docmap)` Search for an object or variable named `name` in the given module, given the DocMap `docmap`.
`UID` or `None` | ``_find_variable_in`(name, container, docmap)` Search for a variable named `name` in the module or class whose UID is `container`, given the DocMap `docmap`.
`boolean` | ``_is_parameter_for`(name, container, docmap)` Return true if `name` is the name of a parameter for the routine `container`, given the DocMap `docmap`.

Variable Summary
`dict` | `_find_builtin_obj_module_cache` = `{135227264: <module 'ty...`
`dict` | `_name_to_uid` = `{'Tkinter.Toplevel': <UID: Tkinter.Toplev...`
`dict` | `_object_uids` = `{(139460820, 139457492): <UID: epydoc.htm...`
`dict` | `_variable_uids` = `{(137736676, 'AUTHOR'): <UID: epydoc.ch...`

Function Details

### make_uid(object, base_uid=None, shortname=None) Create a globally unique identifier for the given object.

### findUID(name, container=None, docmap=None) Attempt to find the UID for the object that can be accessed with the name `name` from the module `module`. Parameters: `name` - The name used to identify the object. (type=`string`) `container` - The UID of the class or module containing the object. If no container is specified, then `__builtin__` is used. (type=`UID` or `None`) `docmap` - A documentation map, which is used to check if `name` is the name of a module variable, class variable, or instance variable. (type=`objdoc.DocMap`) Returns: The UID for the object that can be accessed with the name `name` from the module `module`; or `None` if no object was found. (type=`UID` or `None`)

### reset_uid_cache() Reset the internal cache of UIDs for objects. Returns: `None`

### _find_builtin_obj_module(obj, show_warnings=1) Parameters: `obj` - The object whose module should be found. (type=`builtin object`) Returns: The module that defines the given builtin object. (type=`module`)

### _find_class_child(name, container, docmap) Search for a child object named `name` in the class whose UID is `container`, given the DocMap `docmap`. Returns: The UID of the variable named `name`, if it exists; or `None` if it doesn't. (type=`UID` or `None`)

### _find_function_module(func) Parameters: `func` - The function whose module should be found. (type=`function`) Returns: The module that defines the given function. (type=`module`)

### _find_object_in_module(name, module, docmap) Search for an object or variable named `name` in the given module, given the DocMap `docmap`.

### _find_variable_in(name, container, docmap) Search for a variable named `name` in the module or class whose UID is `container`, given the DocMap `docmap`. Returns: The UID of the variable named `name`, if it exists; or `None` if it doesn't. (type=`UID` or `None`)

### _is_parameter_for(name, container, docmap) Returns: True if `name` is the name of a parameter for the routine `container`, given the DocMap `docmap`. (type=`boolean`)

Variable Details

    ### _find_builtin_obj_module_cache Type: `dict` Value:
        {135139808: <module 'types' from '/usr/lib/python2.2/types.pyc'>,
         135174176: <module 'types' from '/usr/lib/python2.2/types.pyc'>,
         135174720: <module 'types' from '/usr/lib/python2.2/types.pyc'>,
         135184096: <module 'types' from '/usr/lib/python2.2/types.pyc'>,
         135209504: <module 'types' from '/usr/lib/python2.2/types.pyc'>,
         135209920: <module 'types' from '/usr/lib/python2.2/types.pyc'>,
         135210400: <module 'types' from '/usr/lib/python2.2/types.pyc'>,
         135210688: <module 'types' from '/usr/lib/python2.2/types.pyc'>,
        ...

    ### _name_to_uid Type: `dict` Value:
        {'Tkinter.Toplevel': <UID: Tkinter.Toplevel>,
         'docutils.Component': <UID: docutils.Component>,
         'docutils.writers.html4css1.HTMLTranslator.depart_version': <UID: doc\
        utils.writers.html4css1.HTMLTranslator.depart_version>,
         'epydoc.gui.LISTBOX_CONFIG': <UID: epydoc.gui.LISTBOX_CONFIG>,
         'epydoc.gui.VERTICAL': <UID: epydoc.gui.VERTICAL>,
         'epydoc.imports._DevNull.__init__': <UID: epydoc.imports._DevNull.__i\
        nit__>,
        ...

    ### _object_uids Type: `dict` Value:
        {135821316: <UID: docutils.frontend>,
         135902892: <UID: epydoc.markup.DocstringLinker>,
         136980492: <UID: epydoc.cli._version>,
         (136064188, 136091004): <UID: docutils.writers.html4css1.HTMLTranslat\
        or.visit_transition>,
         (136073148, 136091004): <UID: docutils.writers.html4css1.HTMLTranslat\
        or.visit_footnote_reference>,
         (136355516, 137858164): <UID: epydoc.html._DevNull.close>,
        ...

    ### _variable_uids Type: `dict` Value:
        {(135274748, 'exc_traceback'): <UID: sys.exc_traceback>,
         (135672180, '__url__'): <UID: epydoc.__url__>,
         (136458884, '__builtins__'): <UID: epydoc.markup.javadoc.__builtins__\
        >,
         (137460204, 'settings_defaults'): <UID: docutils.SettingsSpec.setting\
        s_defaults>,
         (137736676, 'AUTHOR'): <UID: epydoc.checker.DocChecker.AUTHOR>,
         (137785684, 'BOTH'): <UID: epydoc.gui.BOTH>,
        ...

Generated by Epydoc 2.1 on Sat Mar 20 17:46:15 2004 | http://epydoc.sf.net