Skip to content

Commit a9651e0

Browse files
committed
Adds oauth token support
1 parent 38d4467 commit a9651e0

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

gitlab/__init__.py

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ class Gitlab(object):
7070
api_version (str): Gitlab API version to use (3 or 4)
7171
"""
7272

73-
def __init__(self, url, private_token=None, email=None, password=None,
73+
def __init__(self, url, private_token=None, oauth_token=None, email=None, password=None,
7474
ssl_verify=True, http_username=None, http_password=None,
7575
timeout=None, api_version='3', session=None):
7676

@@ -81,7 +81,8 @@ def __init__(self, url, private_token=None, email=None, password=None,
8181
self.timeout = timeout
8282
#: Headers that will be used in request to GitLab
8383
self.headers = {}
84-
self._set_token(private_token)
84+
self._set_token(private_token, oauth_token)
85+
8586
#: The user email
8687
self.email = email
8788
#: The user password (associated with email)
@@ -289,12 +290,18 @@ def set_token(self, token):
289290
DeprecationWarning)
290291
self._set_token(token)
291292

292-
def _set_token(self, token):
293-
self.private_token = token if token else None
294-
if token:
295-
self.headers["PRIVATE-TOKEN"] = token
296-
elif "PRIVATE-TOKEN" in self.headers:
297-
del self.headers["PRIVATE-TOKEN"]
293+
def _set_token(self, private_token, oauth_token=None):
294+
self.private_token = private_token if private_token else None
295+
self.oauth_token = oauth_token if oauth_token else None
296+
297+
if private_token:
298+
self.headers["PRIVATE-TOKEN"] = private_token
299+
if 'Authorization' in self.headers:
300+
del self.headers["Authorization"]
301+
elif oauth_token:
302+
self.headers['Authorization'] = "Bearer %s" % oauth_token
303+
if "PRIVATE-TOKEN" in self.headers:
304+
del self.headers["PRIVATE-TOKEN"]
298305

299306
def set_credentials(self, email, password):
300307
"""Sets the email/login and password for authentication.

0 commit comments

Comments
 (0)