]> git.ipfire.org Git - thirdparty/starlette.git/commitdiff
Revert bump on `python-multipart` (#2737)
authorMarcelo Trylesinski <marcelotryle@gmail.com>
Sun, 27 Oct 2024 08:11:05 +0000 (09:11 +0100)
committerGitHub <noreply@github.com>
Sun, 27 Oct 2024 08:11:05 +0000 (09:11 +0100)
pyproject.toml
starlette/formparsers.py
starlette/requests.py

index 0dde83c72668f81ed1af21b3afe942629e9c1c7a..a532e46285aadd6b10aad509f9419fd970563980 100644 (file)
@@ -35,7 +35,7 @@ dependencies = [
 full = [
     "itsdangerous",
     "jinja2",
-    "python-multipart>=0.0.13",
+    "python-multipart>=0.0.7",
     "pyyaml",
     "httpx>=0.22.0",
 ]
index 2817a7b6cbd1c62e3dcbb24da4304f424756f959..82e2ad1955fd039ba27a5e69959bf2f89affa998 100644 (file)
@@ -8,15 +8,20 @@ from urllib.parse import unquote_plus
 
 from starlette.datastructures import FormData, Headers, UploadFile
 
-try:
-    import python_multipart as multipart
-    from python_multipart.multipart import parse_options_header
-except ModuleNotFoundError:  # pragma: no cover
-    parse_options_header = None  # type: ignore
-    multipart = None  # type: ignore
-
 if typing.TYPE_CHECKING:
-    from python_multipart.multipart import MultipartCallbacks, QuerystringCallbacks
+    import multipart
+    from multipart.multipart import MultipartCallbacks, QuerystringCallbacks, parse_options_header
+else:
+    try:
+        try:
+            import python_multipart as multipart
+            from python_multipart.multipart import parse_options_header
+        except ModuleNotFoundError:  # pragma: no cover
+            import multipart
+            from multipart.multipart import parse_options_header
+    except ModuleNotFoundError:  # pragma: no cover
+        multipart = None
+        parse_options_header = None
 
 
 class FormMessage(Enum):
index 8decb20764e1edaec06df1e300877b3970044a6e..a29164d0d3b1c24092406c7e0888067907591cee 100644 (file)
@@ -12,15 +12,19 @@ from starlette.exceptions import HTTPException
 from starlette.formparsers import FormParser, MultiPartException, MultiPartParser
 from starlette.types import Message, Receive, Scope, Send
 
-try:
-    from python_multipart.multipart import parse_options_header
-except ModuleNotFoundError:  # pragma: no cover
-    parse_options_header = None  # type: ignore
-
-
 if typing.TYPE_CHECKING:
+    from multipart.multipart import parse_options_header
+
     from starlette.applications import Starlette
     from starlette.routing import Router
+else:
+    try:
+        try:
+            from python_multipart.multipart import parse_options_header
+        except ModuleNotFoundError:  # pragma: no cover
+            from multipart.multipart import parse_options_header
+    except ModuleNotFoundError:  # pragma: no cover
+        parse_options_header = None
 
 
 SERVER_PUSH_HEADERS_TO_COPY = {