Fix doc generation for python 3
1. The html_last_updated_fmt sphinx setting was providing a byte string
where sphinx expected a str, which produced warnings (and therefore
failures):
WARNING: The config value `html_last_updated_fmt' has type `bytes', expected to ['str'].
The solution provided is copied from cinder's solution[1].
2. The .keys() method in python 3 returns a dict_keys object rather than
a list and it does not include a .sort() method. This patch swaps
.sort() out for the global function sorted() which works in both python
2 and python 3.
This came up because on some newer distros that don't install python 2
by default, virtualenv defaults to creating a python 3 environment when
none is specified.
[1] https://review.openstack.org/#/c/433081
Change-Id: I68b796fa2e33fd6c3df67b542def31e6ba620944
This commit is contained in:
@@ -171,8 +171,8 @@ pygments_style = 'sphinx'
|
||||
git_cmd = ["git", "log", "--pretty=format:'%ad, commit %h'", "--date=local",
|
||||
"-n1"]
|
||||
try:
|
||||
html_last_updated_fmt = subprocess.Popen(
|
||||
git_cmd, stdout=subprocess.PIPE).communicate()[0]
|
||||
html_last_updated_fmt = subprocess.check_output(
|
||||
git_cmd).decode('utf-8')
|
||||
except Exception:
|
||||
warnings.warn('Cannot get last updated time from git repository. '
|
||||
'Not setting "html_last_updated_fmt".')
|
||||
|
||||
@@ -319,8 +319,7 @@ class SupportMatrixDirective(rst.Directive):
|
||||
summaryhead.append(header)
|
||||
|
||||
# then one column for each hypervisor driver
|
||||
impls = matrix.targets.keys()
|
||||
impls.sort()
|
||||
impls = sorted(matrix.targets.keys())
|
||||
for key in impls:
|
||||
target = matrix.targets[key]
|
||||
implcol = nodes.entry()
|
||||
@@ -352,8 +351,7 @@ class SupportMatrixDirective(rst.Directive):
|
||||
classes=["sp_feature_" + feature.status]))
|
||||
|
||||
# and then one column for each hypervisor driver
|
||||
impls = matrix.targets.keys()
|
||||
impls.sort()
|
||||
impls = sorted(matrix.targets.keys())
|
||||
for key in impls:
|
||||
target = matrix.targets[key]
|
||||
impl = feature.implementations[key]
|
||||
|
||||
@@ -167,8 +167,8 @@ html_static_path = ['_static']
|
||||
git_cmd = ["git", "log", "--pretty=format:'%ad, commit %h'", "--date=local",
|
||||
"-n1"]
|
||||
try:
|
||||
html_last_updated_fmt = subprocess.Popen(
|
||||
git_cmd, stdout=subprocess.PIPE).communicate()[0]
|
||||
html_last_updated_fmt = subprocess.check_output(
|
||||
git_cmd).decode('utf-8')
|
||||
except Exception:
|
||||
warnings.warn('Cannot get last updated time from git repository. '
|
||||
'Not setting "html_last_updated_fmt".')
|
||||
|
||||
Reference in New Issue
Block a user