From ce640dcc3639bdb1560f709e759eab9a25d0dddf Mon Sep 17 00:00:00 2001 From: Chris Mayo Date: Wed, 6 Sep 2023 19:22:04 +0100 Subject: [PATCH 1/3] Stop reporting deprecated sqlite3.version To be removed in Python 3.14. We still have sqlite3.sqlite_version. --- linkcheck/configuration/__init__.py | 1 - 1 file changed, 1 deletion(-) diff --git a/linkcheck/configuration/__init__.py b/linkcheck/configuration/__init__.py index a68f092c..1a8f82f0 100644 --- a/linkcheck/configuration/__init__.py +++ b/linkcheck/configuration/__init__.py @@ -72,7 +72,6 @@ Modules = ( ("argcomplete", "Argcomplete", None), ("GeoIP", "GeoIP", 'lib_version'), # on Unix systems ("pygeoip", "GeoIP", 'lib_version'), # on Windows systems - ("sqlite3", "sqlite3", 'version'), ("sqlite3", "SQLite", 'sqlite_version'), ("meliae", "Meliae", '__version__'), ) From 40c39c27e6db080e7128f0897aafec8fc7eb93a9 Mon Sep 17 00:00:00 2001 From: Chris Mayo Date: Wed, 6 Sep 2023 19:22:04 +0100 Subject: [PATCH 2/3] Fix TestMisc.test_itms_services() on Python 3.12 E -cache key itms-services:?action=download-manifest&url=http://www.example.com/ E -real url itms-services:?action=download-manifest&url=http://www.example.com/ E +cache key itms-services://?action=download-manifest&url=http://www.example.com/ E +real url itms-services://?action=download-manifest&url=http://www.example.com/ E valid gh-104139: Teach urllib.parse.unsplit() to retain the "//" when assembling itms-services://?action=generate-bugs style Apple Platform Deployment [2] URLs. [1] [1] https://docs.python.org/3.12/whatsnew/changelog.html [2] "Distribute proprietary in-house apps to Apple devices": https://support.apple.com/en-gb/guide/deployment/depce7cefc4d/web --- tests/checker/test_misc.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tests/checker/test_misc.py b/tests/checker/test_misc.py index 1fe62d0b..f69e0a47 100644 --- a/tests/checker/test_misc.py +++ b/tests/checker/test_misc.py @@ -16,6 +16,8 @@ """ Test miscellaneous html tag parsing and URL types """ +import sys + from tests import need_network from . import LinkCheckTest @@ -41,7 +43,11 @@ class TestMisc(LinkCheckTest): @need_network def test_itms_services(self): - url = "itms-services:?action=download-manifest&url=http://www.example.com/" + if sys.version_info < (3, 12): + url = "itms-services:?action=download-manifest&url=http://www.example.com/" + else: + url = \ + "itms-services://?action=download-manifest&url=http://www.example.com/" resultlines = [ "url %s" % url, "cache key %s" % url, From e793e64c78b4c375297ed204fb20f9ffd4a6a412 Mon Sep 17 00:00:00 2001 From: Chris Mayo Date: Wed, 6 Sep 2023 19:22:04 +0100 Subject: [PATCH 3/3] Add Python 3.12 --- .github/workflows/build.yml | 1 + pyproject.toml | 1 + tox.ini | 4 ++-- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c7d84b1f..3ac78e3e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,6 +25,7 @@ jobs: - "3.9" - "3.10" - "3.11" + - "3.12-dev" toxenv: [py] include: - python-version: "3.8" diff --git a/pyproject.toml b/pyproject.toml index 0d0b7dd7..2fc6575c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,6 +15,7 @@ classifiers = [ "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", ] requires-python = ">=3.8" diff --git a/tox.ini b/tox.ini index 8eb2a2fc..409b556d 100644 --- a/tox.ini +++ b/tox.ini @@ -1,9 +1,9 @@ [tox] -envlist = py3{8,9,10,11}, minreqs +envlist = py3{8,9,10,11,12}, minreqs [base] deps = - pyftpdlib + pyftpdlib @ https://github.com/giampaolo/pyftpdlib/archive/ec1f095910846c11fe3a7f8513de771afc7c8afd.tar.gz parameterized pyopenssl pytest-xdist