From 65586aa0d4374bd8a286d32b8cf50baa5539e338 Mon Sep 17 00:00:00 2001 From: Vu Cong Tuan Date: Sun, 4 Jun 2017 10:21:30 +0700 Subject: [PATCH] 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: I8d02c971d5b906ddbf58961c8544ecbcb9d01634 --- doc/source/conf.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/doc/source/conf.py b/doc/source/conf.py index 20d22e9..9468074 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -176,8 +176,7 @@ 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].decode() + 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".')