[MERGE] Forward-port of 11.0 to 12.0

This commit is contained in:
Antoine Vandevenne (anv) 2020-02-12 10:47:11 +01:00
commit 541bd54521
4 changed files with 10 additions and 35 deletions

View File

@ -28,7 +28,9 @@ def setup(app):
app.connect('html-page-context', update_meta)
def update_meta(app, pagename, templatename, context, doctree):
meta = context.setdefault('meta', {})
if not context.get('meta'): # context['meta'] can be None
context['meta'] = {}
meta = context.setdefault('meta', {}) # we want {} by default
meta.setdefault('banner', app.config.odoo_cover_default)
def navbarify(node, navbar=None):

View File

@ -1,27 +0,0 @@
# -*- coding: utf-8 -*-
import sys
PY2 = sys.version_info[0] == 2
if PY2:
text_type = unicode
else:
text_type = str
def to_text(source):
""" Generates a text value (an instance of text_type) from an arbitrary
source.
* False and None are converted to empty strings
* text is passed through
* bytes are decoded as UTF-8
* rest is textified via the current version's relevant data model method
"""
if source is None or source is False:
return u''
if isinstance(source, bytes):
return source.decode('utf-8')
return text_type(source)

View File

@ -2,14 +2,11 @@
import os.path
import posixpath
import re
import urllib
from docutils import nodes
from sphinx import addnodes, util
from sphinx.locale import admonitionlabels
from . import pycompat
try:
from urllib import url2pathname
except ImportError:
@ -58,6 +55,7 @@ class BootstrapTranslator(nodes.NodeVisitor, object):
self.context = []
self.section_level = 0
self.config = builder.config
self.highlightlang = self.highlightlang_base = self.builder.config.highlight_language
self.highlightopts = getattr(builder.config, 'highlight_options', {})
@ -67,7 +65,7 @@ class BootstrapTranslator(nodes.NodeVisitor, object):
self.param_separator = ','
def encode(self, text):
return pycompat.to_text(text).translate({
return text.strip().translate({
ord('&'): u'&',
ord('<'): u'&lt;',
ord('"'): u'&quot;',
@ -76,7 +74,7 @@ class BootstrapTranslator(nodes.NodeVisitor, object):
})
def starttag(self, node, tagname, **attributes):
tagname = pycompat.to_text(tagname).lower()
tagname = tagname.strip().lower()
# extract generic attributes
attrs = {name.lower(): value for name, value in attributes.items()}
@ -111,7 +109,7 @@ class BootstrapTranslator(nodes.NodeVisitor, object):
# only "space characters" SPACE, CHARACTER TABULATION, LINE FEED,
# FORM FEED and CARRIAGE RETURN should be collapsed, not al White_Space
def attval(self, value, whitespace=re.compile(u'[ \t\n\f\r]')):
return self.encode(whitespace.sub(u' ', pycompat.to_text(value)))
return self.encode(whitespace.sub(u' ', value.strip()))
def astext(self):
return u''.join(self.body)
@ -647,7 +645,7 @@ class BootstrapTranslator(nodes.NodeVisitor, object):
self.body.append(title if title else util.nodes.clean_astext(env.titles[ref]))
self.body.append(u'</h2>')
entries = [(title, ref)] if not toc else ((e[0], e[1]) for e in toc[0]['entries'])
entries = [(title, ref)] if not toc else ((e[0], e[1]) for e in list(toc)[0]['entries'])
for subtitle, subref in entries:
baseuri = self.builder.get_target_uri(node['parent'])

2
requirements.txt Normal file
View File

@ -0,0 +1,2 @@
Sphinx>=2.4.0
Werkzeug==0.14.1