This class is used to authenticate via .netrc.
| 517 | |
| 518 | |
| 519 | class NetrcAuth(HTTPBasicAuth, WithRequester["NetrcAuth"]): |
| 520 | """ |
| 521 | This class is used to authenticate via .netrc. |
| 522 | """ |
| 523 | |
| 524 | def __init__(self) -> None: |
| 525 | super().__init__() |
| 526 | |
| 527 | self._login: str | None = None |
| 528 | self._password: str | None = None |
| 529 | |
| 530 | @property |
| 531 | def username(self) -> str: |
| 532 | return self.login |
| 533 | |
| 534 | @property |
| 535 | def login(self) -> str: |
| 536 | assert self._login is not None, "Method withRequester(Requester) must be called first" |
| 537 | return self._login |
| 538 | |
| 539 | @property |
| 540 | def password(self) -> str: |
| 541 | assert self._password is not None, "Method withRequester(Requester) must be called first" |
| 542 | return self._password |
| 543 | |
| 544 | def withRequester(self, requester: Requester) -> NetrcAuth: |
| 545 | assert isinstance(requester, Requester), requester |
| 546 | super().withRequester(requester) |
| 547 | |
| 548 | auth = utils.get_netrc_auth(requester.base_url, raise_errors=True) |
| 549 | if auth is None: |
| 550 | raise RuntimeError(f"Could not get credentials from netrc for host {requester.hostname}") |
| 551 | |
| 552 | self._login, self._password = auth |
| 553 | |
| 554 | return self |
no outgoing calls
no test coverage detected
searching dependent graphs…