Fixed #9645 -- Work around a backwards-incompatibility in Sphinx so that

various combinations of released docutils and sphinx versions all work
together. Thanks, Ramiro Morales.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@9586 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Malcolm Tredinnick 2008-12-07 04:00:08 +00:00
parent d1102d63e6
commit e8707e068d
1 changed files with 6 additions and 6 deletions

View File

@ -130,21 +130,21 @@ class DjangoHTMLTranslator(sphinx.htmlwriter.SmartyPantsHTMLTranslator):
# Give each section a unique ID -- nice for custom CSS hooks # Give each section a unique ID -- nice for custom CSS hooks
# This is different on docutils 0.5 vs. 0.4... # This is different on docutils 0.5 vs. 0.4...
# The docutils 0.4 override. if hasattr(sphinx.htmlwriter.SmartyPantsHTMLTranslator, 'start_tag_with_title') and sphinx.__version__ == '0.4.2':
if hasattr(sphinx.htmlwriter.SmartyPantsHTMLTranslator, 'start_tag_with_title'):
def start_tag_with_title(self, node, tagname, **atts): def start_tag_with_title(self, node, tagname, **atts):
node = { node = {
'classes': node.get('classes', []), 'classes': node.get('classes', []),
'ids': ['s-%s' % i for i in node.get('ids', [])] 'ids': ['s-%s' % i for i in node.get('ids', [])]
} }
return self.starttag(node, tagname, **atts) return self.starttag(node, tagname, **atts)
# The docutils 0.5 override. else:
else:
def visit_section(self, node): def visit_section(self, node):
old_ids = node.get('ids', []) old_ids = node.get('ids', [])
node['ids'] = ['s-' + i for i in old_ids] node['ids'] = ['s-' + i for i in old_ids]
if sphinx.__version__ != '0.4.2':
node['ids'].extend(old_ids)
sphinx.htmlwriter.SmartyPantsHTMLTranslator.visit_section(self, node) sphinx.htmlwriter.SmartyPantsHTMLTranslator.visit_section(self, node)
node['ids'] = old_ids node['ids'] = old_ids