@@ -309,24 +309,12 @@ def login(self, login, password):
309309 self ._auth_session = None
310310 self .log .info (f"Going to log in user { login } " )
311311 try :
312- self ._auth_params = params
313- url = urllib .parse .urljoin (self .url , urllib .parse .quote ("/v1/auth/login" ))
314- data = json .dumps (self ._auth_params , cls = DateTimeEncoder ).encode ("utf-8" )
315- request = urllib .request .Request (url , data , {"Content-Type" : "application/json" }, method = "POST" )
316- request .add_header ("User-Agent" , self .user_agent_info ())
317- resp = self .opener .open (request )
312+ resp = self .post ("/v1/auth/login" , data = params , headers = {"Content-Type" : "application/json" })
318313 data = json .load (resp )
319314 session = data ["session" ]
320- except urllib .error .HTTPError as e :
321- if e .headers .get ("Content-Type" , "" ) == "application/problem+json" :
322- info = json .load (e )
323- self .log .info (f"Login problem: { info .get ('detail' )} " )
324- raise LoginError (info .get ("detail" ))
325- self .log .info (f"Login problem: { e .read ().decode ('utf-8' )} " )
326- raise LoginError (e .read ().decode ("utf-8" ))
327- except urllib .error .URLError as e :
328- # e.g. when DNS resolution fails (no internet connection?)
329- raise ClientError ("failure reason: " + str (e .reason ))
315+ except ClientError as e :
316+ self .log .info (f"Login problem: { e .detail } " )
317+ raise LoginError (e .detail )
330318 self ._auth_session = {
331319 "token" : "Bearer %s" % session ["token" ],
332320 "expire" : dateutil .parser .parse (session ["expire" ]),
0 commit comments