Skip to content
This repository was archived by the owner on Apr 26, 2025. It is now read-only.

Commit 8d5d1ce

Browse files
committed
Use a context manager for yaspin
Avoids tests from blocking
1 parent f45d13f commit 8d5d1ce

File tree

1 file changed

+28
-30
lines changed
  • fief_client/integrations

1 file changed

+28
-30
lines changed

fief_client/integrations/cli.py

Lines changed: 28 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -234,38 +234,36 @@ def authorize(
234234
)
235235
webbrowser.open(authorization_url)
236236

237-
spinner = yaspin(
237+
with yaspin(
238238
text="Please complete authentication in your browser.",
239239
spinner=Spinners.dots,
240-
)
241-
spinner.start()
242-
243-
code_queue: queue.Queue[str] = queue.Queue()
244-
server = CallbackHTTPServer(
245-
server_address,
246-
functools.partial(
247-
CallbackHTTPRequestHandler,
248-
queue=code_queue,
249-
render_success_page=self.render_success_page,
250-
render_error_page=self.render_error_page,
251-
),
252-
)
253-
254-
server.serve_forever()
255-
256-
try:
257-
code = code_queue.get(block=False)
258-
except queue.Empty as e:
259-
raise FiefAuthAuthorizationCodeMissingError() from e
260-
261-
spinner.text = "Getting a token..."
262-
263-
tokens, userinfo = self.client.auth_callback(
264-
code, redirect_uri, code_verifier=code_verifier
265-
)
266-
self._save_credentials(tokens, userinfo)
267-
268-
spinner.ok("Successfully authenticated")
240+
) as spinner:
241+
code_queue: queue.Queue[str] = queue.Queue()
242+
server = CallbackHTTPServer(
243+
server_address,
244+
functools.partial(
245+
CallbackHTTPRequestHandler,
246+
queue=code_queue,
247+
render_success_page=self.render_success_page,
248+
render_error_page=self.render_error_page,
249+
),
250+
)
251+
252+
server.serve_forever()
253+
254+
try:
255+
code = code_queue.get(block=False)
256+
except queue.Empty as e:
257+
raise FiefAuthAuthorizationCodeMissingError() from e
258+
259+
spinner.text = "Getting a token..."
260+
261+
tokens, userinfo = self.client.auth_callback(
262+
code, redirect_uri, code_verifier=code_verifier
263+
)
264+
self._save_credentials(tokens, userinfo)
265+
266+
spinner.ok("Successfully authenticated")
269267

270268
return tokens, userinfo
271269

0 commit comments

Comments
 (0)