mirror of https://github.com/zulip/zulip.git
python: Avoid deprecated cgi module, removed in Python 3.13.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
parent
006ac58a4b
commit
08db41660a
|
@ -1,6 +1,5 @@
|
|||
# Zulip's main Markdown implementation. See docs/subsystems/markdown.md for
|
||||
# detailed documentation on our Markdown syntax.
|
||||
import cgi
|
||||
import html
|
||||
import logging
|
||||
import mimetypes
|
||||
|
@ -10,6 +9,7 @@ from collections import deque
|
|||
from collections.abc import Callable
|
||||
from dataclasses import dataclass
|
||||
from datetime import datetime, timezone
|
||||
from email.message import EmailMessage
|
||||
from functools import lru_cache
|
||||
from re import Match, Pattern
|
||||
from typing import Any, Generic, Optional, TypeAlias, TypedDict, TypeVar, cast
|
||||
|
@ -441,7 +441,9 @@ def fetch_open_graph_image(url: str) -> dict[str, Any] | None:
|
|||
if res.status_code != requests.codes.ok:
|
||||
return None
|
||||
|
||||
mimetype, options = cgi.parse_header(res.headers["Content-Type"])
|
||||
m = EmailMessage()
|
||||
m["Content-Type"] = res.headers.get("Content-Type")
|
||||
mimetype = m.get_content_type()
|
||||
if mimetype not in ("text/html", "application/xhtml+xml"):
|
||||
return None
|
||||
html = mimetype == "text/html"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import cgi
|
||||
from email.message import EmailMessage
|
||||
|
||||
from zerver.lib.url_preview.types import UrlEmbedData
|
||||
|
||||
|
@ -10,9 +10,9 @@ class BaseParser:
|
|||
# importing it adds 10s of milliseconds to manage.py startup.
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
charset = None
|
||||
if content_type is not None:
|
||||
charset = cgi.parse_header(content_type)[1].get("charset")
|
||||
m = EmailMessage()
|
||||
m["Content-Type"] = content_type
|
||||
charset = m.get_content_charset()
|
||||
self._soup = BeautifulSoup(html_source, "lxml", from_encoding=charset)
|
||||
|
||||
def extract_data(self) -> UrlEmbedData:
|
||||
|
|
Loading…
Reference in New Issue