- Jul 17, 2024
-
-
Dylann Cordel authored
-
Dylann Cordel authored
* simple user creation * block user * unblock user * get basic info about user * get groups * add groups * remove groups * set groups (get current ones and add/remove what is needed)
-
- Jan 28, 2024
-
-
Marc Troelitzsch authored
* `Iterator.next()`` has been replaced with `Iterator.__next__()` * The `object.__unicode__()` method is not used anymore * Default source encoding has changed from ASCII to UTF-8
-
Adam Williamson authored
As discussed upstream in https://github.com/psf/requests/issues/4564 , HTTP basic auth usernames and passwords sent to requests as Python text strings are encoded as latin1. This of course makes it impossible to log in with a username or password containing characters not represented in latin1, as the reporter of #315 found out. To work around this rather old-fashioned default, let's intercept string usernames and passwords and encode them as utf-8 before sending them to requests. Anyone dealing with a really old server that can't handle utf-8, or something like that, can encode the username and password appropriately and provide them as bytestrings. Signed-off-by:
Adam Williamson <awilliam@redhat.com>
-
- Jan 27, 2024
-
-
Alexandre Detiste authored
-
- Feb 25, 2023
-
-
Marc Troelitzsch authored
-
Adam Williamson authored
This is an alternative approach to solve the problem identified in #279 . When doing API calls with `retry_on_error` set to true (the default), if the call fails after all retries are exhausted, we raise our own `MaximumRetriesExceeded` exception, which tells you nothing about what actually went wrong, just that we exhausted the retry count. It seems much more useful to raise an exception with information about why the connection is failing. This changes that behaviour so that, on most paths, we would raise an appropriate exception from requests (either the one we caught, or an HTTPError via `raise_for_status`) if we exhaust the retry count. Only if we fail due to database lag would we still raise `MaximumRetriesExceeded` (because there isn't really an underlying exception we can handily raise in that case). Note that it was already possible to hit `stream.raise_for_status()` before this change, if the status code was outside the 500 range, so in theory callers should already be prepared for that. It was not possible to get a `requests.exceptions.ConnectionError` or `requests.exceptions.Timeout` with `retry_on_error` true, though, so this is genuinely a behaviour change on that front. Signed-off-by:
Adam Williamson <awilliam@redhat.com>
-
- Feb 19, 2023
-
-
Adam Williamson authored
Issue #290 gives an example of a wiki with protected pages whose protection definitions have no 'expiry' key at all. This seems strange and, on a quick through the mediawiki code, difficult to achieve, but since there's a live site out there that does it, and mediawiki *does* seem to have at least some code to handle such cases (e.g. how the expiry shows as 'indefinite' in the page information), let's handle it too, by representing this as None. Signed-off-by:
Adam Williamson <awilliam@redhat.com>
-
- Feb 10, 2023
-
-
Adam Williamson authored
It seems that pytest-cov does not collect any coverage without this file. Signed-off-by:
Adam Williamson <awilliam@redhat.com>
-
Adam Williamson authored
`clientlogin()` does `self.require(1, 27)`, which needs the site instance's `version` attribute to be set, but this is usually done by `site_init()`, which is mocked out in the tests. We can fix the problem by just manually setting a sufficiently high version in the tests. Signed-off-by:
Adam Williamson <awilliam@redhat.com>
-
- Sep 22, 2021
-
-
Dylann Cordel authored
-
- May 28, 2020
-
-
Håvard Flaget Aasen authored
-
Marc Trölitzsch authored
-
- Oct 10, 2019
-
-
RheingoldRiver authored
-
- Aug 02, 2019
-
-
Dan Michael O. Heggø authored
Allow specifying `uselang` with `Page.revisions()` and `Site.usercontributions()` to get localized parsed comments with `prop=parsedcomment`.
-
Dan Michael O. Heggø authored
Breaking change: Change the `Site.ask()` method to produce less nested output. Basically, change `yield {title: answer}` to `yield answer`. The title is included in the answer object after all.
-
Dan Michael O. Heggø authored
-
Marc Trölitzsch authored
-
Marc Trölitzsch authored
-
- Feb 17, 2019
-
-
Dan Michael O. Heggø authored
The rvexpandtemplates parameter has been removed, but we can use action=expandtemplates instead.
-
- Nov 04, 2018
-
-
Dan Michael O. Heggø authored
-
- Jun 28, 2018
-
-
Dan Michael O. Heggø authored
-
- Jan 14, 2018
-
-
Dan Michael O. Heggø authored
-
Dan Michael O. Heggø authored
-
- Jan 11, 2018
-
-
Dan Michael O. Heggø authored
This fixes tests not being added to the source package.
-