epydoc.docwriter.xlink.UrlGenerator

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

# Class UrlGenerator

source code

Generate URL from an object name.

Nested Classes | [hide private]
| IndexAmbiguous The name looked for is ambiguous

Instance Methods | [hide private]
`str` |
get_url(self, name) Look for a name and return the matching URL documentation. | source code
`tuple` of `str` |
get_canonical_name(self, name) Convert an object name into a canonical name. | source code

Class Variables | [hide private]
| _SEP_RE = `re.compile(r'`(?x)``(``[`a`-`zA`-`Z0`-`9_`]``+``)``|``(`\.`|`::`|`->`)``|``(`.`)`')`

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` (`str`) - 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

### get_canonical_name(self, name) | source code
Convert an object name into a canonical name. the canonical name of an object is a tuple of strings containing its name fragments, splitted on any allowed separator ('`.`', '`::`', '`->`'). Noise such parenthesis to indicate a function is discarded. Parameters: `name` (`str`) - an object name, such as `os.path.prefix()` or `lib::foo::bar` Returns: `tuple` of `str` the fully qualified name such `('os', 'path', 'prefix')` and `('lib', 'foo', 'bar')`