Commit e8707e06 authored by Malcolm Tredinnick's avatar Malcolm Tredinnick
Browse files

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
parent d1102d63
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -131,8 +131,7 @@ class DjangoHTMLTranslator(sphinx.htmlwriter.SmartyPantsHTMLTranslator):
    # Give each section a unique ID -- nice for custom CSS hooks
    # This is different on docutils 0.5 vs. 0.4...

    # The docutils 0.4 override.
    if hasattr(sphinx.htmlwriter.SmartyPantsHTMLTranslator, 'start_tag_with_title'):
    if hasattr(sphinx.htmlwriter.SmartyPantsHTMLTranslator, 'start_tag_with_title') and sphinx.__version__ == '0.4.2':
        def start_tag_with_title(self, node, tagname, **atts):
            node = {
                'classes': node.get('classes', []), 
@@ -140,11 +139,12 @@ class DjangoHTMLTranslator(sphinx.htmlwriter.SmartyPantsHTMLTranslator):
            }
            return self.starttag(node, tagname, **atts)

    # The docutils 0.5 override.
    else:
        def visit_section(self, node):
            old_ids = node.get('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)
            node['ids'] = old_ids