| 286 | raise |
| 287 | |
| 288 | def request_xml(self, url, xmlns=True, **kwargs): |
| 289 | response = self.request(url, **kwargs) |
| 290 | |
| 291 | if xmlns: |
| 292 | text = response.text |
| 293 | else: |
| 294 | text = response.text.replace(" xmlns=", " ns=") |
| 295 | |
| 296 | parser = ElementTree.XMLParser() |
| 297 | try: |
| 298 | parser.feed(text) |
| 299 | return parser.close() |
| 300 | except Exception as exc: |
| 301 | fatal = kwargs.get("fatal", True) |
| 302 | if not fatal or fatal is ...: |
| 303 | if challenge := util.detect_challenge(response): |
| 304 | self.log.warning(challenge) |
| 305 | else: |
| 306 | self.log.warning("%s: %s", exc.__class__.__name__, exc) |
| 307 | return ElementTree.Element("") |
| 308 | raise |
| 309 | |
| 310 | _handle_429 = util.false |
| 311 | |