Fix compatibility with python 3.4&3.5 (#1248)

Close https://github.com/zalando/patroni/issues/1247
This commit is contained in:
Alexander Kukushkin
2019-10-25 15:01:49 +02:00
committed by GitHub
parent 2a9ef418d6
commit 3f711650a7
3 changed files with 5 additions and 4 deletions
+1 -1
View File
@@ -1180,7 +1180,7 @@ def version(obj, cluster_name, member_names):
if not member_names or m.name in member_names:
try:
response = request_patroni(m)
data = json.loads(response.data)
data = json.loads(response.data.decode('utf-8'))
version = data.get('patroni', {}).get('version')
pg_version = data.get('server_version')
pg_version_str = " PostgreSQL {0}".format(format_pg_version(pg_version)) if pg_version else ""
+3 -2
View File
@@ -553,8 +553,9 @@ class Ha(object):
try:
response = self.patroni.request(member, timeout=2, retries=0)
logger.info('Got response from %s %s: %s', member.name, member.api_url, response.data.decode('utf-8'))
return _MemberStatus.from_api_response(member, json.loads(response.data))
data = response.data.decode('utf-8')
logger.info('Got response from %s %s: %s', member.name, member.api_url, data)
return _MemberStatus.from_api_response(member, json.loads(data))
except Exception as e:
logger.warning("Request failed to %s: GET %s (%s)", member.name, member.api_url, e)
return _MemberStatus.unknown(member)
+1 -1
View File
@@ -559,7 +559,7 @@ class TestCtl(unittest.TestCase):
with patch.object(PoolManager, 'request') as mocked:
result = self.runner.invoke(ctl, ['version'])
assert 'patronictl version' in result.output
mocked.return_value.data = json.dumps({'patroni': {'version': '1.2.3'}, 'server_version': 100001})
mocked.return_value.data = b'{"patroni":{"version":"1.2.3"},"server_version": 100001}'
result = self.runner.invoke(ctl, ['version', 'dummy'])
assert '1.2.3' in result.output
with patch.object(PoolManager, 'request', Mock(side_effect=Exception)):