annotate roundup/anypy/xmlrpc_.py @ 8408:e882a5d52ae5

refactor: move RateLimitExceeded to roundup.cgi.exceptions RateLimitExceeded is an HTTP exception that raises code 429. Move it to roundup.cgi.exceptions where all the other exceptions that result in http status codes are located. Also make it inherit from HTTPException since it is one. Also add docstrings for all HTTP exceptions and order HTTPExceptions by status code. BREAKING CHANGE: if somebody is importing RateLimitExceeded they will need to change their import. I consider it unlikely anybody is using RateLimitExceeded. Detectors and extensions are unlikely to raise RateLimitExceeded. So I am leaving it out of the upgrading doc. Just doc in change log.
author John Rouillard <rouilj@ieee.org>
date Sun, 10 Aug 2025 21:27:06 -0400
parents 05405220dc38
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5408
e46ce04d5bbc Python 3 preparation: update xmlrpclib / SimpleXMLRPCServer imports.
Joseph Myers <jsm@polyomino.org.uk>
parents:
diff changeset
1 try:
e46ce04d5bbc Python 3 preparation: update xmlrpclib / SimpleXMLRPCServer imports.
Joseph Myers <jsm@polyomino.org.uk>
parents:
diff changeset
2 # Python 3+.
e46ce04d5bbc Python 3 preparation: update xmlrpclib / SimpleXMLRPCServer imports.
Joseph Myers <jsm@polyomino.org.uk>
parents:
diff changeset
3 from xmlrpc import client, server
8237
57325fea9982 issue2551116 - Replace xmlrpclib (xmlrpc.client) with defusedxml.
John Rouillard <rouilj@ieee.org>
parents: 7829
diff changeset
4 # If client.defusedxml == False, client.py will warn that
57325fea9982 issue2551116 - Replace xmlrpclib (xmlrpc.client) with defusedxml.
John Rouillard <rouilj@ieee.org>
parents: 7829
diff changeset
5 # xmlrpc is insecure and defusedxml should be installed.
8238
05405220dc38 issue2551116 - difusedxml support - python2 fixups.
John Rouillard <rouilj@ieee.org>
parents: 8237
diff changeset
6 client.defusedxml = False
8237
57325fea9982 issue2551116 - Replace xmlrpclib (xmlrpc.client) with defusedxml.
John Rouillard <rouilj@ieee.org>
parents: 7829
diff changeset
7 try:
57325fea9982 issue2551116 - Replace xmlrpclib (xmlrpc.client) with defusedxml.
John Rouillard <rouilj@ieee.org>
parents: 7829
diff changeset
8 from defusedxml import xmlrpc
57325fea9982 issue2551116 - Replace xmlrpclib (xmlrpc.client) with defusedxml.
John Rouillard <rouilj@ieee.org>
parents: 7829
diff changeset
9 xmlrpc.monkey_patch()
57325fea9982 issue2551116 - Replace xmlrpclib (xmlrpc.client) with defusedxml.
John Rouillard <rouilj@ieee.org>
parents: 7829
diff changeset
10 # figure out how to allow user to set xmlrpc.MAX_DATA = bytes
8238
05405220dc38 issue2551116 - difusedxml support - python2 fixups.
John Rouillard <rouilj@ieee.org>
parents: 8237
diff changeset
11 client.defusedxml = True
8237
57325fea9982 issue2551116 - Replace xmlrpclib (xmlrpc.client) with defusedxml.
John Rouillard <rouilj@ieee.org>
parents: 7829
diff changeset
12 except ImportError:
57325fea9982 issue2551116 - Replace xmlrpclib (xmlrpc.client) with defusedxml.
John Rouillard <rouilj@ieee.org>
parents: 7829
diff changeset
13 # use regular xmlrpc with warnings
57325fea9982 issue2551116 - Replace xmlrpclib (xmlrpc.client) with defusedxml.
John Rouillard <rouilj@ieee.org>
parents: 7829
diff changeset
14 pass
57325fea9982 issue2551116 - Replace xmlrpclib (xmlrpc.client) with defusedxml.
John Rouillard <rouilj@ieee.org>
parents: 7829
diff changeset
15
8238
05405220dc38 issue2551116 - difusedxml support - python2 fixups.
John Rouillard <rouilj@ieee.org>
parents: 8237
diff changeset
16 server.SimpleXMLRPCDispatcher # noqa: B018
5552
db10c0a1f338 Fix xmlrpc module selection for incomplete backport (issue2551010).
Gabi <gabriele.roeger@unibas.ch>
parents: 5408
diff changeset
17 except (ImportError, AttributeError):
5408
e46ce04d5bbc Python 3 preparation: update xmlrpclib / SimpleXMLRPCServer imports.
Joseph Myers <jsm@polyomino.org.uk>
parents:
diff changeset
18 # Python 2.
7829
7b33365ccb2a chore: sort imports.
John Rouillard <rouilj@ieee.org>
parents: 6049
diff changeset
19 import SimpleXMLRPCServer as server
6049
99d4fb22aa65 flake8 fixes: ignore import unused in python3.
John Rouillard <rouilj@ieee.org>
parents: 5552
diff changeset
20 import xmlrpclib as client # noqa: F401
8238
05405220dc38 issue2551116 - difusedxml support - python2 fixups.
John Rouillard <rouilj@ieee.org>
parents: 8237
diff changeset
21 client.defusedxml = False

Roundup Issue Tracker: http://roundup-tracker.org/