From 5c765d5561031311ec1a9347ff2faafa1383efff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Nov=C3=BD?= Date: Sun, 17 Jul 2016 13:56:32 +0200 Subject: [PATCH] Fixed AttributeError: 'str' object has no attribute 'decode' When git cmd fails, raw_version_list is set to empty 'str' and then we are trying to decode it. This patch moves decoding inside try/catch block, so we are decoding return value of subprocess call, which is bytes in Python 3. Change-Id: Ibd2f556355a6413beb21473ebfca3b836cbc1d73 --- oslosphinx/__init__.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/oslosphinx/__init__.py b/oslosphinx/__init__.py index 94738e8..773ceb6 100644 --- a/oslosphinx/__init__.py +++ b/oslosphinx/__init__.py @@ -55,14 +55,13 @@ def _get_other_versions(app): try: raw_version_list = subprocess.Popen( git_cmd, stdout=subprocess.PIPE).communicate()[0] + raw_version_list = raw_version_list.decode("utf8") except OSError: app.warn('Cannot get tags from git repository. ' 'Not setting "other_versions".') - raw_version_list = '' + raw_version_list = u'' # grab last five that start with a number and reverse the order - if six.PY3: - raw_version_list = raw_version_list.decode("utf8") _tags = [t.strip("'") for t in raw_version_list.split('\n')] other_versions = [ t for t in _tags if t and t[0] in string.digits