epydoc.docwriter.xlink.DocUrlGenerator

Package epydoc :: Package docwriter :: Module xlink :: Class DocUrlGenerator |
[hide private]
[frames] | no frames]

# Class DocUrlGenerator

source code

Read a documentation index and generate URL's for it.

Nested Classes | [hide private]
Inherited from `UrlGenerator`: `IndexAmbiguous`

Instance Methods | [hide private]
__init__(self) | source code
`str` |
get_url(self, name) Look for a name and return the matching URL documentation. | source code
Inherited from `UrlGenerator`: `get_canonical_name`
Content loading
clear(self) Clear the current class content. | source code
load_index(self, f) Read the content of an index file. | source code
_iter_tuples(self, f) Iterate on a file returning 2-tuples. | source code
load_records(self, records) Read a sequence of pairs name -> url and populate the internal maps. | source code

Class Variables | [hide private]
Inherited from `UrlGenerator` (private): `_SEP_RE`

Instance Variables | [hide private]
| _exact_matches A map from an object fully qualified name to its URL.
| _partial_names A map from partial names to the fully qualified names they may refer.
| prefix Prefix portion for the URL's returned by get_url().
| _filename Not very important: only for logging.

Method Details | [hide private]

### get_url(self, name) | source code
Look for a name and return the matching URL documentation. First look for a fully qualified name. If not found, try with partial name. If no url exists for the given object, return `None`. Parameters: `name` - the name to look for Returns: `str` the URL that can be used to reach the `name` documentation. `None` if no such URL exists. Raises: `IndexError` - no object found with `name` `DocUrlGenerator.IndexAmbiguous` - more than one object found with a non-fully qualified name; notice that this is an `IndexError` subclass Overrides: UrlGenerator.get_url (inherited documentation)

### load_index(self, f) | source code
Read the content of an index file. Populate the internal maps with the file content using load_records(). Parameters: `f` (`str` or file) - a file name or file-like object fron which read the index.

### load_records(self, records) | source code
Read a sequence of pairs name -> url and populate the internal maps. Parameters: `records` (iterable) - the sequence of pairs (name, url) to add to the maps.

Instance Variable Details | [hide private]

### _exact_matches A map from an object fully qualified name to its URL. Values are both the name as tuple of fragments and as read from the records (see load_records()), mostly to help _partial_names to perform lookup for unambiguous names.

### _partial_names A map from partial names to the fully qualified names they may refer. The keys are the possible left sub-tuples of fully qualified names, the values are list of strings as provided by the index. If the list for a given tuple contains a single item, the partial match is not ambuguous. In this case the string can be looked up in _exact_matches. If the name fragment is ambiguous, a warning may be issued to the user. The items can be used to provide an informative message to the user, to help him qualifying the name in a unambiguous manner.