Skip to content

Commit

Permalink
fixed bug#6681: RST default reference role tries docutils' default ro…
Browse files Browse the repository at this point in the history
…le before raising
  • Loading branch information
jgsogo committed Sep 11, 2012
1 parent 0133d66 commit a854461
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions django/contrib/admindocs/utils.py
Expand Up @@ -92,13 +92,17 @@ def _role(name, rawtext, text, lineno, inliner, options=None, content=None):
docutils.parsers.rst.roles.register_canonical_role(rolename, _role)

def default_reference_role(name, rawtext, text, lineno, inliner, options=None, content=None):
if options is None: options = {}
if content is None: content = []
context = inliner.document.settings.default_reference_context
node = docutils.nodes.reference(rawtext, text, refuri=(ROLES[context] % (inliner.document.settings.link_base, text.lower())), **options)
return [node], []
try:
if options is None: options = {}
if content is None: content = []
context = inliner.document.settings.default_reference_context
node = docutils.nodes.reference(rawtext, text, refuri=(ROLES[context] % (inliner.document.settings.link_base, text.lower())), **options)
return [node], []
except:
return _DOCUTILS_DEFAULT_INTERPRETED_ROLE(name, rawtext, text, lineno, inliner, options=options, content=content)

if docutils_is_available:
_DOCUTILS_DEFAULT_INTERPRETED_ROLE = docutils.parsers.rst.roles._role_registry.get(docutils.parsers.rst.roles.DEFAULT_INTERPRETED_ROLE, None)
docutils.parsers.rst.roles.register_canonical_role('cmsreference', default_reference_role)
docutils.parsers.rst.roles.DEFAULT_INTERPRETED_ROLE = 'cmsreference'

Expand Down

0 comments on commit a854461

Please sign in to comment.