mirror of
https://github.com/python/cpython.git
synced 2025-12-31 12:33:28 +00:00
gh-76007: Deprecate __version__ attribute in wsgiref.simple_server (#142675)
This commit is contained in:
parent
e27f76b6fe
commit
c10ec48bb9
5 changed files with 29 additions and 5 deletions
|
|
@ -23,6 +23,7 @@ Pending removal in Python 3.20
|
|||
- :mod:`tabnanny`
|
||||
- :mod:`tkinter.font`
|
||||
- :mod:`tkinter.ttk`
|
||||
- :mod:`wsgiref.simple_server`
|
||||
- :mod:`zlib`
|
||||
|
||||
(Contributed by Hugo van Kemenade and Stan Ulbrych in :gh:`76007`.)
|
||||
|
|
|
|||
|
|
@ -1040,6 +1040,7 @@ New deprecations
|
|||
- :mod:`tabnanny`
|
||||
- :mod:`tkinter.font`
|
||||
- :mod:`tkinter.ttk`
|
||||
- :mod:`wsgiref.simple_server`
|
||||
- :mod:`zlib`
|
||||
|
||||
(Contributed by Hugo van Kemenade and Stan Ulbrych in :gh:`76007`.)
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@ def check_hello(self, out, has_length=True):
|
|||
sys.version.split()[0])
|
||||
self.assertEqual(out,
|
||||
("HTTP/1.0 200 OK\r\n"
|
||||
"Server: WSGIServer/0.2 " + pyver +"\r\n"
|
||||
"Server: WSGIServer " + pyver + "\r\n"
|
||||
"Content-Type: text/plain\r\n"
|
||||
"Date: Mon, 05 Jun 2006 18:49:54 GMT\r\n" +
|
||||
(has_length and "Content-Length: 13\r\n" or "") +
|
||||
|
|
@ -206,7 +206,7 @@ def app(e, s):
|
|||
pyver = py + b"/" + ver
|
||||
self.assertEqual(
|
||||
b"HTTP/1.0 200 OK\r\n"
|
||||
b"Server: WSGIServer/0.2 "+ pyver + b"\r\n"
|
||||
b"Server: WSGIServer " + pyver + b"\r\n"
|
||||
b"Content-Type: text/plain; charset=utf-8\r\n"
|
||||
b"Date: Wed, 24 Dec 2008 13:29:32 GMT\r\n"
|
||||
b"\r\n"
|
||||
|
|
@ -840,5 +840,17 @@ def write(self, b):
|
|||
self.assertIsNotNone(h.environ)
|
||||
|
||||
|
||||
class TestModule(unittest.TestCase):
|
||||
def test_deprecated__version__(self):
|
||||
from wsgiref import simple_server
|
||||
|
||||
with self.assertWarnsRegex(
|
||||
DeprecationWarning,
|
||||
"'__version__' is deprecated and slated for removal in Python 3.20",
|
||||
) as cm:
|
||||
getattr(simple_server, "__version__")
|
||||
self.assertEqual(cm.filename, __file__)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
|
|||
|
|
@ -16,11 +16,10 @@
|
|||
from wsgiref.handlers import SimpleHandler
|
||||
from platform import python_implementation
|
||||
|
||||
__version__ = "0.2"
|
||||
__all__ = ['WSGIServer', 'WSGIRequestHandler', 'demo_app', 'make_server']
|
||||
|
||||
|
||||
server_version = "WSGIServer/" + __version__
|
||||
server_version = "WSGIServer"
|
||||
sys_version = python_implementation() + "/" + sys.version.split()[0]
|
||||
software_version = server_version + ' ' + sys_version
|
||||
|
||||
|
|
@ -70,7 +69,7 @@ def set_app(self,application):
|
|||
|
||||
class WSGIRequestHandler(BaseHTTPRequestHandler):
|
||||
|
||||
server_version = "WSGIServer/" + __version__
|
||||
server_version = "WSGIServer"
|
||||
|
||||
def get_environ(self):
|
||||
env = self.server.base_environ.copy()
|
||||
|
|
@ -152,6 +151,15 @@ def make_server(
|
|||
return server
|
||||
|
||||
|
||||
def __getattr__(name):
|
||||
if name == "__version__":
|
||||
from warnings import _deprecated
|
||||
|
||||
_deprecated("__version__", remove=(3, 20))
|
||||
return "0.2" # Do not change
|
||||
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
with make_server('', 8000, demo_app) as httpd:
|
||||
sa = httpd.socket.getsockname()
|
||||
|
|
|
|||
|
|
@ -0,0 +1,2 @@
|
|||
Deprecate ``__version__`` from :mod:`wsgiref.simple_server`. Patch by Hugo
|
||||
van Kemenade.
|
||||
Loading…
Add table
Add a link
Reference in a new issue