From 24a4812051578c0801a25218d8a516991421ae38 Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Fri, 12 Sep 2025 10:44:53 +0200 Subject: [PATCH] chore: Update beautifulsoup4 dependency Updated dependency and, with its newly provided type hints, removed some pyright overrides. Added a cast where there was still not enough type hinting. --- papis_extract/extractors/pocketbook.py | 11 +++++------ uv.lock | 16 +++++++++++++--- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/papis_extract/extractors/pocketbook.py b/papis_extract/extractors/pocketbook.py index 928aad1..812175d 100644 --- a/papis_extract/extractors/pocketbook.py +++ b/papis_extract/extractors/pocketbook.py @@ -1,6 +1,7 @@ # pyright: strict, reportUnknownMemberType=false import mimetypes from pathlib import Path +from typing import cast import papis.logging from bs4 import BeautifulSoup @@ -48,16 +49,14 @@ class PocketBookExtractor: annotations: list[Annotation] = [] for bm in html.select("div.bookmark"): content = str( - (bm.select_one("div.bm-text>p") or html.new_string("")).text or "" # pyright: ignore [reportUnknownArgumentType] + (bm.select_one("div.bm-text>p") or html.new_string("")).text or "" ) note = str( - (bm.select_one("div.bm-note>p") or html.new_string("")).text or "" # pyright: ignore [reportUnknownArgumentType] - ) - page = int( - (bm.select_one("p.bm-page") or html.new_string("")).text or 0 # pyright: ignore [reportUnknownArgumentType] + (bm.select_one("div.bm-note>p") or html.new_string("")).text or "" ) + page = int((bm.select_one("p.bm-page") or html.new_string("")).text or 0) - el_classes = bm.attrs.get("class", "").split(" ") + el_classes = cast("str", bm.attrs.get("class", "")).split(" ") color = (0, 0, 0) for c in el_classes: if "bm-color-" in c: diff --git a/uv.lock b/uv.lock index a1744be..63dcf25 100644 --- a/uv.lock +++ b/uv.lock @@ -17,14 +17,15 @@ wheels = [ [[package]] name = "beautifulsoup4" -version = "4.12.3" +version = "4.13.5" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "soupsieve" }, + { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b3/ca/824b1195773ce6166d388573fc106ce56d4a805bd7427b624e063596ec58/beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051", size = 581181, upload-time = "2024-01-17T16:53:17.902Z" } +sdist = { url = "https://files.pythonhosted.org/packages/85/2e/3e5079847e653b1f6dc647aa24549d68c6addb4c595cc0d902d1b19308ad/beautifulsoup4-4.13.5.tar.gz", hash = "sha256:5e70131382930e7c3de33450a2f54a63d5e4b19386eab43a5b34d594268f3695", size = 622954, upload-time = "2025-08-24T14:06:13.168Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b1/fe/e8c672695b37eecc5cbf43e1d0638d88d66ba3a44c4d321c796f4e59167f/beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed", size = 147925, upload-time = "2024-01-17T16:53:12.779Z" }, + { url = "https://files.pythonhosted.org/packages/04/eb/f4151e0c7377a6e08a38108609ba5cede57986802757848688aeedd1b9e8/beautifulsoup4-4.13.5-py3-none-any.whl", hash = "sha256:642085eaa22233aceadff9c69651bc51e8bf3f874fb6d7104ece2beb24b47c4a", size = 105113, upload-time = "2025-08-24T14:06:14.884Z" }, ] [[package]] @@ -739,6 +740,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/2b/78/57043611a16c655c8350b4c01b8d6abfb38cc2acb475238b62c2146186d7/tqdm-4.67.0-py3-none-any.whl", hash = "sha256:0cd8af9d56911acab92182e88d763100d4788bdf421d251616040cc4d44863be", size = 78590, upload-time = "2024-11-06T16:35:35.023Z" }, ] +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, +] + [[package]] name = "urllib3" version = "2.2.3"