diff options
| author | Gauvain Pocentek <gauvain@pocentek.net> | 2017-08-05 07:52:34 +0200 |
|---|---|---|
| committer | Gauvain Pocentek <gauvain@pocentek.net> | 2017-08-05 07:54:09 +0200 |
| commit | 45c4aaf1604b710d2b15238f305cd7ca51317895 (patch) | |
| tree | 869b633f2aa304d268d1650afe0fa8db7ae6c4f5 | |
| parent | 0e70dd9bfaa8025768e032820a3e0cba2da90611 (diff) | |
| download | gitlab-45c4aaf1604b710d2b15238f305cd7ca51317895.tar.gz | |
Fix Gitlab.version()
The method was overwritten by the result of the call.
| -rw-r--r-- | gitlab/__init__.py | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/gitlab/__init__.py b/gitlab/__init__.py index bdeb5c4..644a784 100644 --- a/gitlab/__init__.py +++ b/gitlab/__init__.py @@ -73,6 +73,7 @@ class Gitlab(object): timeout=None, api_version='3', session=None): self._api_version = str(api_version) + self._server_version = self._server_revision = None self._url = '%s/api/v%s' % (url, api_version) #: Timeout to use for requests to gitlab server self.timeout = timeout @@ -227,15 +228,17 @@ class Gitlab(object): ('unknown', 'unknwown') if the server doesn't support this API call (gitlab < 8.13.0) """ - r = self._raw_get('/version') - try: - raise_error_from_response(r, GitlabGetError, 200) - data = r.json() - self.version, self.revision = data['version'], data['revision'] - except GitlabGetError: - self.version = self.revision = 'unknown' - - return self.version, self.revision + if self._server_version is None: + r = self._raw_get('/version') + try: + raise_error_from_response(r, GitlabGetError, 200) + data = r.json() + self._server_version = data['version'] + self._server_revision = data['revision'] + except GitlabGetError: + self._server_version = self._server_revision = 'unknown' + + return self._server_version, self._server_revision def set_url(self, url): """Updates the GitLab URL. |
