Skip to content

Commit 45c4aaf

Browse files
author
Gauvain Pocentek
committed
Fix Gitlab.version()
The method was overwritten by the result of the call.
1 parent 0e70dd9 commit 45c4aaf

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

gitlab/__init__.py

+12-9
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ def __init__(self, url, private_token=None, email=None, password=None,
7373
timeout=None, api_version='3', session=None):
7474

7575
self._api_version = str(api_version)
76+
self._server_version = self._server_revision = None
7677
self._url = '%s/api/v%s' % (url, api_version)
7778
#: Timeout to use for requests to gitlab server
7879
self.timeout = timeout
@@ -227,15 +228,17 @@ def version(self):
227228
('unknown', 'unknwown') if the server doesn't
228229
support this API call (gitlab < 8.13.0)
229230
"""
230-
r = self._raw_get('/version')
231-
try:
232-
raise_error_from_response(r, GitlabGetError, 200)
233-
data = r.json()
234-
self.version, self.revision = data['version'], data['revision']
235-
except GitlabGetError:
236-
self.version = self.revision = 'unknown'
237-
238-
return self.version, self.revision
231+
if self._server_version is None:
232+
r = self._raw_get('/version')
233+
try:
234+
raise_error_from_response(r, GitlabGetError, 200)
235+
data = r.json()
236+
self._server_version = data['version']
237+
self._server_revision = data['revision']
238+
except GitlabGetError:
239+
self._server_version = self._server_revision = 'unknown'
240+
241+
return self._server_version, self._server_revision
239242

240243
def set_url(self, url):
241244
"""Updates the GitLab URL.

0 commit comments

Comments
 (0)