Fix html_last_updated_fmt for Python3

html_last_updated_fmt option is interpreted as a
byte string in python3, causing Sphinx build to break.
This patch makes it utf-8 string.

Changing Popen to .check_output because of 3 reasons:
1. check_output() will raise CalledProcessError if
the called process returns a non-zero return code.
2. For consistency with keystone [1] and cinder [2]
3. It makes the code look much better.

[1] https://review.openstack.org/#/c/457142/
[2] https://review.openstack.org/#/c/433081

Change-Id: Ia6721b3b2bdf8427e8c42b4f056f5fcb7c4b73ee
This commit is contained in:
Vu Cong Tuan
2017-06-04 11:46:14 +07:00
parent 1c410793cf
commit 456e92dbe5

View File

@@ -179,8 +179,7 @@ html_static_path = []
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".')
@@ -227,8 +226,7 @@ htmlhelp_basename = 'Horizondoc'
# We ask git for the SHA checksum
# The git SHA checksum is used by "log-a-bug"
gitsha = subprocess.Popen(
git_cmd, stdout=subprocess.PIPE).communicate()[0].strip('\n')
gitsha = subprocess.check_output(git_cmd).strip('\n')
giturl = u'https://git.openstack.org/cgit/openstack/horizon/tree/doc/source'
# html_context allows us to pass arbitrary values into the html template
html_context = {