:calls: `GET /users/{username} `_ or `GET /user `_
(self, login: Opt[str] = NotSet, lazy: Opt[bool] = NotSet)
| 398 | |
| 399 | # v3: remove lazy argument, laziness is fully controlled via requester |
| 400 | def get_user(self, login: Opt[str] = NotSet, lazy: Opt[bool] = NotSet) -> NamedUser | AuthenticatedUser: |
| 401 | """ |
| 402 | :calls: `GET /users/{username} <https://docs.github.com/en/rest/reference/users>`_ or `GET /user <https://docs.github.com/en/rest/reference/users>`_ |
| 403 | """ |
| 404 | requester = self.__requester.withLazy(lazy) |
| 405 | if is_undefined(login): |
| 406 | url = "/user" |
| 407 | # default is to return a lazy completable AuthenticatedUser |
| 408 | # v3: given github.Github(lazy=True) is now default, remove completed=False here |
| 409 | return github.AuthenticatedUser.AuthenticatedUser( |
| 410 | requester, url=url, completed=False if is_undefined(lazy) else None |
| 411 | ) |
| 412 | else: |
| 413 | assert isinstance(login, str), login |
| 414 | login = urllib.parse.quote(login) |
| 415 | url = f"/users/{login}" |
| 416 | # always return a completed NamedUser |
| 417 | # v3: remove complete() here and make this as lazy as github.Github is |
| 418 | user = github.NamedUser.NamedUser(requester, url=url) |
| 419 | return user.complete() if is_undefined(lazy) else user |
| 420 | |
| 421 | def get_user_by_id(self, user_id: int) -> NamedUser: |
| 422 | """ |