summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortoofar <toofar@spalge.com>2024-04-09 19:46:14 +1200
committerGitHub <noreply@github.com>2024-04-09 19:46:14 +1200
commitb255e1c36aab8103c40cd40f88535e87d01b9324 (patch)
tree50be5805a61cea5fe1217370d8070cf95770033a
parent0a541983c3c699aa846e04720a36729ad704d0d4 (diff)
parent7c2116751f0a3578ddea49c17b08edad5a64ce00 (diff)
downloadqutebrowser-b255e1c36aab8103c40cd40f88535e87d01b9324.tar.gz
qutebrowser-b255e1c36aab8103c40cd40f88535e87d01b9324.zip
Merge pull request #8152 from qutebrowser/update-dependencies
Update dependencies
-rw-r--r--misc/requirements/requirements-check-manifest.txt2
-rw-r--r--misc/requirements/requirements-dev.txt17
-rw-r--r--misc/requirements/requirements-flake8.txt4
-rw-r--r--misc/requirements/requirements-mypy.txt6
-rw-r--r--misc/requirements/requirements-pylint.txt4
-rw-r--r--misc/requirements/requirements-pyqt-6.6.txt4
-rw-r--r--misc/requirements/requirements-pyqt-6.txt4
-rw-r--r--misc/requirements/requirements-pyqt.txt4
-rw-r--r--misc/requirements/requirements-pyroma.txt4
-rw-r--r--misc/requirements/requirements-tests.txt12
-rw-r--r--misc/requirements/requirements-tox.txt2
-rw-r--r--qutebrowser/browser/qtnetworkdownloads.py4
-rw-r--r--qutebrowser/browser/webkit/httpheaders.py (renamed from qutebrowser/browser/webkit/http.py)0
-rw-r--r--qutebrowser/browser/webkit/webpage.py6
-rw-r--r--scripts/dev/changelog_urls.json3
-rw-r--r--scripts/dev/check_coverage.py4
-rw-r--r--tests/end2end/fixtures/quteprocess.py2
-rw-r--r--tests/unit/browser/webkit/http/test_content_disposition.py10
-rw-r--r--tests/unit/browser/webkit/http/test_httpheaders.py (renamed from tests/unit/browser/webkit/http/test_http.py)20
19 files changed, 58 insertions, 54 deletions
diff --git a/misc/requirements/requirements-check-manifest.txt b/misc/requirements/requirements-check-manifest.txt
index 430abbb0c..b0993ea58 100644
--- a/misc/requirements/requirements-check-manifest.txt
+++ b/misc/requirements/requirements-check-manifest.txt
@@ -1,6 +1,6 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py
-build==1.1.1
+build==1.2.1
check-manifest==0.49
importlib_metadata==7.1.0
packaging==24.0
diff --git a/misc/requirements/requirements-dev.txt b/misc/requirements/requirements-dev.txt
index 89e12d073..810c6da1b 100644
--- a/misc/requirements/requirements-dev.txt
+++ b/misc/requirements/requirements-dev.txt
@@ -1,6 +1,7 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py
-build==1.1.1
+backports.tarfile==1.0.0
+build==1.2.1
bump2version==1.0.1
certifi==2024.2.2
cffi==1.16.0
@@ -12,24 +13,24 @@ hunter==3.6.1
idna==3.6
importlib_metadata==7.1.0
importlib_resources==6.4.0
-jaraco.classes==3.3.1
-jaraco.context==4.3.0
+jaraco.classes==3.4.0
+jaraco.context==5.3.0
jaraco.functools==4.0.0
jeepney==0.8.0
-keyring==25.0.0
+keyring==25.1.0
manhole==1.8.0
markdown-it-py==3.0.0
mdurl==0.1.2
more-itertools==10.2.0
-nh3==0.2.15
+nh3==0.2.17
packaging==24.0
pkginfo==1.10.0
-pycparser==2.21
+pycparser==2.22
Pygments==2.17.2
PyJWT==2.8.0
Pympler==1.0.1
pyproject_hooks==1.0.0
-PyQt-builder==1.15.4
+PyQt-builder==1.16.0
python-dateutil==2.9.0.post0
readme_renderer==43.0
requests==2.31.0
@@ -41,7 +42,7 @@ sip==6.8.3
six==1.16.0
tomli==2.0.1
twine==5.0.0
-typing_extensions==4.10.0
+typing_extensions==4.11.0
uritemplate==4.1.1
# urllib3==2.2.1
zipp==3.18.1
diff --git a/misc/requirements/requirements-flake8.txt b/misc/requirements/requirements-flake8.txt
index 4f9f7fb39..3f2d52014 100644
--- a/misc/requirements/requirements-flake8.txt
+++ b/misc/requirements/requirements-flake8.txt
@@ -3,14 +3,14 @@
attrs==23.2.0
flake8==7.0.0
flake8-bugbear==24.2.6
-flake8-builtins==2.2.0
+flake8-builtins==2.4.0
flake8-comprehensions==3.14.0
flake8-debugger==4.1.2
flake8-deprecated==2.2.1
flake8-docstrings==1.7.0
flake8-future-import==0.4.7
flake8-plugin-utils==1.3.3
-flake8-pytest-style==1.7.2
+flake8-pytest-style==2.0.0
flake8-string-format==0.3.0
flake8-tidy-imports==4.10.0
flake8-tuple==0.4.1
diff --git a/misc/requirements/requirements-mypy.txt b/misc/requirements/requirements-mypy.txt
index 944c2bca1..8f6f90f6c 100644
--- a/misc/requirements/requirements-mypy.txt
+++ b/misc/requirements/requirements-mypy.txt
@@ -4,7 +4,7 @@ chardet==5.2.0
diff_cover==8.0.3
importlib_resources==6.4.0
Jinja2==3.1.3
-lxml==5.1.0
+lxml==5.2.1
MarkupSafe==2.1.5
mypy==1.9.0
mypy-extensions==1.0.0
@@ -13,9 +13,9 @@ Pygments==2.17.2
PyQt5-stubs==5.15.6.0
tomli==2.0.1
types-colorama==0.4.15.20240311
-types-docutils==0.20.0.20240317
+types-docutils==0.20.0.20240406
types-Pygments==2.17.0.20240310
types-PyYAML==6.0.12.20240311
types-setuptools==69.2.0.20240317
-typing_extensions==4.10.0
+typing_extensions==4.11.0
zipp==3.18.1
diff --git a/misc/requirements/requirements-pylint.txt b/misc/requirements/requirements-pylint.txt
index 2e86f9e30..ab2cfafc6 100644
--- a/misc/requirements/requirements-pylint.txt
+++ b/misc/requirements/requirements-pylint.txt
@@ -12,7 +12,7 @@ isort==5.13.2
mccabe==0.7.0
pefile==2023.2.7
platformdirs==4.2.0
-pycparser==2.21
+pycparser==2.22
PyJWT==2.8.0
pylint==3.1.0
python-dateutil==2.9.0.post0
@@ -21,6 +21,6 @@ requests==2.31.0
six==1.16.0
tomli==2.0.1
tomlkit==0.12.4
-typing_extensions==4.10.0
+typing_extensions==4.11.0
uritemplate==4.1.1
# urllib3==2.2.1
diff --git a/misc/requirements/requirements-pyqt-6.6.txt b/misc/requirements/requirements-pyqt-6.6.txt
index 9b9a11190..02f1a325f 100644
--- a/misc/requirements/requirements-pyqt-6.6.txt
+++ b/misc/requirements/requirements-pyqt-6.6.txt
@@ -1,7 +1,7 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py
PyQt6==6.6.1
-PyQt6-Qt6==6.6.2
+PyQt6-Qt6==6.6.3
PyQt6-sip==13.6.0
PyQt6-WebEngine==6.6.0
-PyQt6-WebEngine-Qt6==6.6.2
+PyQt6-WebEngine-Qt6==6.6.3
diff --git a/misc/requirements/requirements-pyqt-6.txt b/misc/requirements/requirements-pyqt-6.txt
index 9b9a11190..02f1a325f 100644
--- a/misc/requirements/requirements-pyqt-6.txt
+++ b/misc/requirements/requirements-pyqt-6.txt
@@ -1,7 +1,7 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py
PyQt6==6.6.1
-PyQt6-Qt6==6.6.2
+PyQt6-Qt6==6.6.3
PyQt6-sip==13.6.0
PyQt6-WebEngine==6.6.0
-PyQt6-WebEngine-Qt6==6.6.2
+PyQt6-WebEngine-Qt6==6.6.3
diff --git a/misc/requirements/requirements-pyqt.txt b/misc/requirements/requirements-pyqt.txt
index 9b9a11190..02f1a325f 100644
--- a/misc/requirements/requirements-pyqt.txt
+++ b/misc/requirements/requirements-pyqt.txt
@@ -1,7 +1,7 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py
PyQt6==6.6.1
-PyQt6-Qt6==6.6.2
+PyQt6-Qt6==6.6.3
PyQt6-sip==13.6.0
PyQt6-WebEngine==6.6.0
-PyQt6-WebEngine-Qt6==6.6.2
+PyQt6-WebEngine-Qt6==6.6.3
diff --git a/misc/requirements/requirements-pyroma.txt b/misc/requirements/requirements-pyroma.txt
index 00eff9141..f3926d842 100644
--- a/misc/requirements/requirements-pyroma.txt
+++ b/misc/requirements/requirements-pyroma.txt
@@ -1,6 +1,6 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py
-build==1.1.1
+build==1.2.1
certifi==2024.2.2
charset-normalizer==3.3.2
docutils==0.20.1
@@ -12,6 +12,6 @@ pyproject_hooks==1.0.0
pyroma==4.2
requests==2.31.0
tomli==2.0.1
-trove-classifiers==2024.3.3
+trove-classifiers==2024.3.25
urllib3==2.2.1
zipp==3.18.1
diff --git a/misc/requirements/requirements-tests.txt b/misc/requirements/requirements-tests.txt
index 5343a90da..5179a467d 100644
--- a/misc/requirements/requirements-tests.txt
+++ b/misc/requirements/requirements-tests.txt
@@ -9,11 +9,11 @@ cheroot==10.0.0
click==8.1.7
coverage==7.4.4
exceptiongroup==1.2.0
-execnet==2.0.2
-filelock==3.13.1
-Flask==3.0.2
+execnet==2.1.0
+filelock==3.13.3
+Flask==3.0.3
hunter==3.6.1
-hypothesis==6.99.13
+hypothesis==6.100.0
idna==3.6
importlib_metadata==7.1.0
iniconfig==2.0.0
@@ -49,8 +49,8 @@ sortedcontainers==2.4.0
soupsieve==2.5
tldextract==5.1.2
tomli==2.0.1
-typing_extensions==4.10.0
+typing_extensions==4.11.0
urllib3==2.2.1
vulture==2.11
-Werkzeug==3.0.1
+Werkzeug==3.0.2
zipp==3.18.1
diff --git a/misc/requirements/requirements-tox.txt b/misc/requirements/requirements-tox.txt
index ee8289b22..9acc07370 100644
--- a/misc/requirements/requirements-tox.txt
+++ b/misc/requirements/requirements-tox.txt
@@ -4,7 +4,7 @@ cachetools==5.3.3
chardet==5.2.0
colorama==0.4.6
distlib==0.3.8
-filelock==3.13.1
+filelock==3.13.3
packaging==24.0
pip==24.0
platformdirs==4.2.0
diff --git a/qutebrowser/browser/qtnetworkdownloads.py b/qutebrowser/browser/qtnetworkdownloads.py
index 9dd507ab5..0360eed66 100644
--- a/qutebrowser/browser/qtnetworkdownloads.py
+++ b/qutebrowser/browser/qtnetworkdownloads.py
@@ -19,7 +19,7 @@ from qutebrowser.config import config, websettings
from qutebrowser.utils import message, usertypes, log, urlutils, utils, debug, objreg, qtlog
from qutebrowser.misc import quitter
from qutebrowser.browser import downloads
-from qutebrowser.browser.webkit import http
+from qutebrowser.browser.webkit import httpheaders
from qutebrowser.browser.webkit.network import networkmanager
@@ -533,7 +533,7 @@ class DownloadManager(downloads.AbstractDownloadManager):
try:
suggested_filename = target.suggested_filename()
except downloads.NoFilenameError:
- _, suggested_filename = http.parse_content_disposition(reply)
+ _, suggested_filename = httpheaders.parse_content_disposition(reply)
log.downloads.debug("fetch: {} -> {}".format(reply.url(),
suggested_filename))
download = DownloadItem(reply, manager=self)
diff --git a/qutebrowser/browser/webkit/http.py b/qutebrowser/browser/webkit/httpheaders.py
index 95b7b7104..95b7b7104 100644
--- a/qutebrowser/browser/webkit/http.py
+++ b/qutebrowser/browser/webkit/httpheaders.py
diff --git a/qutebrowser/browser/webkit/webpage.py b/qutebrowser/browser/webkit/webpage.py
index ea19174ec..595432dc9 100644
--- a/qutebrowser/browser/webkit/webpage.py
+++ b/qutebrowser/browser/webkit/webpage.py
@@ -18,7 +18,7 @@ from qutebrowser.qt.webkitwidgets import QWebPage, QWebFrame
from qutebrowser.config import websettings, config
from qutebrowser.browser import pdfjs, shared, downloads, greasemonkey
-from qutebrowser.browser.webkit import http
+from qutebrowser.browser.webkit import httpheaders
from qutebrowser.browser.webkit.network import networkmanager
from qutebrowser.utils import message, usertypes, log, jinja, objreg
from qutebrowser.qt import sip
@@ -263,14 +263,14 @@ class BrowserPage(QWebPage):
At some point we might want to implement the MIME Sniffing standard
here: https://mimesniff.spec.whatwg.org/
"""
- inline, suggested_filename = http.parse_content_disposition(reply)
+ inline, suggested_filename = httpheaders.parse_content_disposition(reply)
download_manager = objreg.get('qtnetwork-download-manager')
if not inline:
# Content-Disposition: attachment -> force download
download_manager.fetch(reply,
suggested_filename=suggested_filename)
return
- mimetype, _rest = http.parse_content_type(reply)
+ mimetype, _rest = httpheaders.parse_content_type(reply)
if mimetype == 'image/jpg':
# Some servers (e.g. the LinkedIn CDN) send a non-standard
# image/jpg (instead of image/jpeg, defined in RFC 1341 section
diff --git a/scripts/dev/changelog_urls.json b/scripts/dev/changelog_urls.json
index 1401e516c..11f890d3b 100644
--- a/scripts/dev/changelog_urls.json
+++ b/scripts/dev/changelog_urls.json
@@ -125,7 +125,7 @@
"filelock": "https://github.com/tox-dev/py-filelock/releases",
"github3.py": "https://github3.readthedocs.io/en/latest/release-notes/index.html",
"manhole": "https://github.com/ionelmc/python-manhole/blob/master/CHANGELOG.rst",
- "pycparser": "https://github.com/eliben/pycparser/blob/master/CHANGES",
+ "pycparser": "https://github.com/eliben/pycparser/blob/main/CHANGES",
"python-dateutil": "https://dateutil.readthedocs.io/en/stable/changelog.html",
"platformdirs": "https://github.com/platformdirs/platformdirs/releases",
"pluggy": "https://github.com/pytest-dev/pluggy/blob/main/CHANGELOG.rst",
@@ -145,6 +145,7 @@
"jaraco.classes": "https://jaracoclasses.readthedocs.io/en/latest/history.html",
"jaraco.context": "https://jaracocontext.readthedocs.io/en/latest/history.html",
"jaraco.functools": "https://jaracofunctools.readthedocs.io/en/latest/history.html",
+ "backports.tarfile": "https://github.com/jaraco/backports.tarfile/blob/main/NEWS.rst",
"pkginfo": "https://bazaar.launchpad.net/~tseaver/pkginfo/trunk/view/head:/CHANGES.txt",
"readme_renderer": "https://github.com/pypa/readme_renderer/blob/main/CHANGES.rst",
"requests-toolbelt": "https://github.com/requests/toolbelt/blob/master/HISTORY.rst",
diff --git a/scripts/dev/check_coverage.py b/scripts/dev/check_coverage.py
index 38a8f6ca1..e1d0d8642 100644
--- a/scripts/dev/check_coverage.py
+++ b/scripts/dev/check_coverage.py
@@ -73,8 +73,8 @@ PERFECT_FILES = [
'qutebrowser/browser/history.py'),
('tests/unit/browser/test_pdfjs.py',
'qutebrowser/browser/pdfjs.py'),
- ('tests/unit/browser/webkit/http/test_http.py',
- 'qutebrowser/browser/webkit/http.py'),
+ ('tests/unit/browser/webkit/http/test_httpheaders.py',
+ 'qutebrowser/browser/webkit/httpheaders.py'),
# ('tests/unit/browser/webkit/test_webkitelem.py',
# 'qutebrowser/browser/webkit/webkitelem.py'),
# ('tests/unit/browser/webkit/test_webkitelem.py',
diff --git a/tests/end2end/fixtures/quteprocess.py b/tests/end2end/fixtures/quteprocess.py
index a6ad157f8..b1e4bbaab 100644
--- a/tests/end2end/fixtures/quteprocess.py
+++ b/tests/end2end/fixtures/quteprocess.py
@@ -75,6 +75,8 @@ def is_ignored_lowlevel_message(message):
'glx: failed to create drisw screen',
'failed to load driver: zink',
'DRI3 not available',
+ # Webkit on arch with a newer mesa
+ 'MESA: error: ZINK: failed to load libvulkan.so.1',
]
return any(testutils.pattern_match(pattern=pattern, value=message)
for pattern in ignored_messages)
diff --git a/tests/unit/browser/webkit/http/test_content_disposition.py b/tests/unit/browser/webkit/http/test_content_disposition.py
index 7cf80e3fd..4f3ef13c7 100644
--- a/tests/unit/browser/webkit/http/test_content_disposition.py
+++ b/tests/unit/browser/webkit/http/test_content_disposition.py
@@ -6,7 +6,7 @@ import logging
import pytest
-from qutebrowser.browser.webkit import http
+from qutebrowser.browser.webkit import httpheaders
DEFAULT_NAME = 'qutebrowser-download'
@@ -30,7 +30,7 @@ class HeaderChecker:
"""Check if the passed header has the given filename."""
reply = self.stubs.FakeNetworkReply(
headers={'Content-Disposition': header})
- cd_inline, cd_filename = http.parse_content_disposition(reply)
+ cd_inline, cd_filename = httpheaders.parse_content_disposition(reply)
assert cd_filename is not None
assert cd_filename == filename
assert cd_inline == expected_inline
@@ -40,7 +40,7 @@ class HeaderChecker:
reply = self.stubs.FakeNetworkReply(
headers={'Content-Disposition': header})
with self.caplog.at_level(logging.ERROR, 'network'):
- cd_inline, cd_filename = http.parse_content_disposition(reply)
+ cd_inline, cd_filename = httpheaders.parse_content_disposition(reply)
assert cd_filename == DEFAULT_NAME
assert cd_inline
@@ -48,7 +48,7 @@ class HeaderChecker:
"""Check if the passed header results in an unnamed attachment."""
reply = self.stubs.FakeNetworkReply(
headers={'Content-Disposition': header})
- cd_inline, cd_filename = http.parse_content_disposition(reply)
+ cd_inline, cd_filename = httpheaders.parse_content_disposition(reply)
assert cd_filename == DEFAULT_NAME
assert not cd_inline
@@ -164,7 +164,7 @@ class TestAttachment:
"""
reply = stubs.FakeNetworkReply(
headers={'Content-Disposition': 'attachment'})
- cd_inline, cd_filename = http.parse_content_disposition(reply)
+ cd_inline, cd_filename = httpheaders.parse_content_disposition(reply)
assert not cd_inline
assert cd_filename == DEFAULT_NAME
diff --git a/tests/unit/browser/webkit/http/test_http.py b/tests/unit/browser/webkit/http/test_httpheaders.py
index 210d79486..7368575e8 100644
--- a/tests/unit/browser/webkit/http/test_http.py
+++ b/tests/unit/browser/webkit/http/test_httpheaders.py
@@ -2,7 +2,7 @@
#
# SPDX-License-Identifier: GPL-3.0-or-later
-"""Tests for qutebrowser.browser.webkit.http."""
+"""Tests for qutebrowser.browser.webkit.httpheaders."""
import logging
@@ -11,7 +11,7 @@ import hypothesis
from hypothesis import strategies
from qutebrowser.qt.core import QUrl
-from qutebrowser.browser.webkit import http
+from qutebrowser.browser.webkit import httpheaders
@pytest.mark.parametrize('url, expected', [
@@ -24,7 +24,7 @@ from qutebrowser.browser.webkit import http
])
def test_no_content_disposition(stubs, url, expected):
reply = stubs.FakeNetworkReply(url=QUrl(url))
- inline, filename = http.parse_content_disposition(reply)
+ inline, filename = httpheaders.parse_content_disposition(reply)
assert inline
assert filename == expected
@@ -40,8 +40,8 @@ def test_no_content_disposition(stubs, url, expected):
# dropping QtWebKit.
])
def test_parse_content_disposition_invalid(value):
- with pytest.raises(http.ContentDispositionError):
- http.ContentDisposition.parse(value)
+ with pytest.raises(httpheaders.ContentDispositionError):
+ httpheaders.ContentDisposition.parse(value)
@pytest.mark.parametrize('template', [
@@ -58,16 +58,16 @@ def test_parse_content_disposition_hypothesis(caplog, template, stubs, s):
header = template.format(s)
reply = stubs.FakeNetworkReply(headers={'Content-Disposition': header})
with caplog.at_level(logging.ERROR, 'network'):
- http.parse_content_disposition(reply)
+ httpheaders.parse_content_disposition(reply)
@hypothesis.given(strategies.binary())
def test_content_disposition_directly_hypothesis(s):
"""Test rfc6266 parsing directly with binary data."""
try:
- cd = http.ContentDisposition.parse(s)
+ cd = httpheaders.ContentDisposition.parse(s)
cd.filename()
- except http.ContentDispositionError:
+ except httpheaders.ContentDispositionError:
pass
@@ -83,7 +83,7 @@ def test_parse_content_type(stubs, content_type, expected_mimetype,
reply = stubs.FakeNetworkReply()
else:
reply = stubs.FakeNetworkReply(headers={'Content-Type': content_type})
- mimetype, rest = http.parse_content_type(reply)
+ mimetype, rest = httpheaders.parse_content_type(reply)
assert mimetype == expected_mimetype
assert rest == expected_rest
@@ -91,4 +91,4 @@ def test_parse_content_type(stubs, content_type, expected_mimetype,
@hypothesis.given(strategies.text())
def test_parse_content_type_hypothesis(stubs, s):
reply = stubs.FakeNetworkReply(headers={'Content-Type': s})
- http.parse_content_type(reply)
+ httpheaders.parse_content_type(reply)