diff options
author | Nejc Habjan <hab.nejc@gmail.com> | 2021-01-31 19:17:14 +0100 |
---|---|---|
committer | John Villalovos <john@sodarock.com> | 2021-09-08 13:45:27 -0700 |
commit | 823628153ec813c4490e749e502a47716425c0f1 (patch) | |
tree | 86285c732aa5a75c8fd6611535dbf40bcb65b0c7 /gitlab/client.py | |
parent | 37424050a00d9b4f46aea9e35d9897478452506d (diff) | |
download | gitlab-823628153ec813c4490e749e502a47716425c0f1.tar.gz |
feat: default to gitlab.com if no URL given
BREAKING CHANGE: python-gitlab will now default to gitlab.com
if no URL is given
Diffstat (limited to 'gitlab/client.py')
-rw-r--r-- | gitlab/client.py | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/gitlab/client.py b/gitlab/client.py index 9db3a0e..6a1ed28 100644 --- a/gitlab/client.py +++ b/gitlab/client.py @@ -39,7 +39,7 @@ class Gitlab(object): """Represents a GitLab server connection. Args: - url (str): The URL of the GitLab server. + url (str): The URL of the GitLab server (defaults to https://gitlab.com). private_token (str): The user private token oauth_token (str): An oauth token job_token (str): A CI job token @@ -59,7 +59,7 @@ class Gitlab(object): def __init__( self, - url: str, + url: Optional[str] = None, private_token: Optional[str] = None, oauth_token: Optional[str] = None, job_token: Optional[str] = None, @@ -79,7 +79,7 @@ class Gitlab(object): self._api_version = str(api_version) self._server_version: Optional[str] = None self._server_revision: Optional[str] = None - self._base_url = url.rstrip("/") + self._base_url = self._get_base_url(url) self._url = "%s/api/v%s" % (self._base_url, api_version) #: Timeout to use for requests to gitlab server self.timeout = timeout @@ -442,6 +442,17 @@ class Gitlab(object): "verify": self.ssl_verify, } + def _get_base_url(self, url: Optional[str] = None) -> str: + """Return the base URL with the trailing slash stripped. + If the URL is a Falsy value, return the default URL. + Returns: + str: The base URL + """ + if not url: + return gitlab.const.DEFAULT_URL + + return url.rstrip("/") + def _build_url(self, path: str) -> str: """Returns the full url from path. |