Commit graph

7197 commits

Author SHA1 Message Date
Chris Mayo
2e8cd48f3c Catch exception if cookie file could not be parsed 2023-11-13 19:22:12 +00:00
Chris Mayo
82a38e6bd0 Check cookie file exists 2023-11-13 19:22:12 +00:00
Chris Mayo
db30833511 Fix setting config["cookiefile"] regardless of check
config["cookiefile"] is set correctly later on in setup_config().

Not working since check added in:
7b34be590 ("Introduce check plugins, use Python requests for http/s
connections, and some code cleanups and improvements.", 2014-03-01)
2023-11-13 19:22:12 +00:00
Chris Mayo
fa2bb932e6 Check config file has sections
RawConfigParser does not raise an error if the file is empty.
2023-11-13 19:22:12 +00:00
Chris Mayo
219c17aa63 Use cryptography to generate certificate in TestHttps
Replacing deprecated use of pyOpenSSL.

linkchecker/tests/checker/test_https.py:45: DeprecationWarning: X509Extension support in pyOpenSSL is deprecated. You should use the APIs in cryptography.
   [crypto.X509Extension(b"subjectAltName", False, b"DNS:localhost")])
2023-11-07 19:30:59 +00:00
Chris Mayo
260350abfc Update gh-action-sigstore-python to v2.1.0
Python 3.12 compatibility.
2023-11-06 19:32:09 +00:00
Chris Mayo
f5ba538184
Merge pull request #769 from cjmayo/pyftpdlib
pyftpdlib released with Python 3.12 support
2023-11-06 19:22:39 +00:00
Chris Mayo
b3b3cd5206
Merge pull request #767 from cdown/cdown/2023-10-31/fifo
Allow FIFOs to be used as config files
2023-11-06 19:22:07 +00:00
Chris Mayo
7f50c62b6b
Merge pull request #766 from cjmayo/ms-windows-store
Add ms-windows-store scheme
2023-11-06 19:21:32 +00:00
Chris Mayo
01947910cb pyftpdlib released with Python 3.12 support 2023-11-01 19:26:48 +00:00
Chris Down
85ce9841eb Allow FIFOs to be used as config files
There are some config options which have no equivalent command line
option. Some may want to set these options dynamically or on a one-off
basis where a static config file is not ideal, and one very easy way to
do that is using process substitution:

    linkchecker --config <(printf '%s\n' '[filtering]' 'ignorewarnings=http-redirected') ...

This, however, does not work in the current code because these are
typically implemented as FIFOs, which don't pass the `os.path.isfile`
check:

    WARNING linkcheck.cmdline 2023-10-31 00:12:09,678 MainThread Unreadable config file: '/dev/fd/63'

Allow reading FIFOs as config input so that this is possible.
`fileutil.is_readable` also now doesn't check if the path leads to a
regular file: this is only used as part of cookie and config file input,
and in both cases that's not really relevant.
2023-10-31 00:31:28 +00:00
Chris Mayo
187ded1d9b Add ms-windows-store scheme
https://learn.microsoft.com/en-us/windows/uwp/launch-resume/launch-store-app
2023-10-30 19:23:46 +00:00
Chris Mayo
2cc17a36eb Document updating IANA schemes as a release step 2023-10-30 19:23:46 +00:00
Chris Mayo
8ae3783c3f
Merge pull request #764 from cjmayo/replace_cgihandler
Replace deprecated http.server.CGIHTTPRequestHandler for TestLoginUrl
2023-10-30 19:23:10 +00:00
Chris Mayo
c3d0787654 Replace deprecated http.server.CGIHTTPRequestHandler for TestLoginUrl
Scheduled for removal in Python 3.15.
2023-10-16 19:23:43 +01:00
Marius Gedminas
1ffb62a1f0
Merge pull request #763 from linkchecker/py312
Python 3.12 final is out, stop using -dev
2023-10-14 12:43:22 +03:00
Marius Gedminas
287474abfe Python 3.12 final is out, stop using -dev
Fixes the check-python-versions job in CI.
2023-10-14 12:39:20 +03:00
Chris Mayo
227cfed5a5
Merge pull request #761 from cjmayo/fixes
Fix make homepage and release workflow publish step
2023-09-25 19:27:31 +01:00
Chris Mayo
00da28f5bc Document that --verbose overrides --no-warnings 2023-09-25 19:22:19 +01:00
Chris Mayo
0c9b98deb5 Fix release workflow publish step
gh-action-pypi-publish failing on twine check:

 Checking dist/LinkChecker-10.3.0-py3-none-any.whl.crt: ERROR    InvalidDistribution: Unknown distribution format:
         'LinkChecker-10.3.0-py3-none-any.whl.crt'
2023-09-25 19:22:19 +01:00
Chris Mayo
d414c4ab1c Rename upload step of release workflow
Sigstore files are uploaded as well as distribution files.
2023-09-25 19:22:19 +01:00
Chris Mayo
40e0628716 Fix make homepage
make -C doc code
make[1]: Entering directory '/var/tmp/linkchecker/doc'
make[1]: *** No rule to make target 'code'.  Stop.

code target was removed in:
c7989eb05 ("Turn all warnings into errors when building website", 2022-11-02)
2023-09-25 19:22:19 +01:00
Chris Mayo
fe23eeb181
Merge pull request #759 from cjmayo/rel103
Release 10.3.0
2023-09-18 19:30:16 +01:00
Chris Mayo
69f22dc0b5
Merge pull request #758 from cjmayo/man-updates
Automated man pages and application translations update
2023-09-18 19:26:17 +01:00
Chris Mayo
aa00dc7853 Documentation for release 10.3.0 2023-09-18 19:25:32 +01:00
Chris Mayo
95f158efd6 Generate Sigstore signatures for release 2023-09-18 19:25:32 +01:00
Chris Mayo
9e9c4ff261 Installing from tagged commits needs setuptools-scm >= 7.1.0 2023-09-18 19:25:32 +01:00
LinkChecker
486848fac7 Update application translation catalogs 2023-09-11 18:26:39 +00:00
LinkChecker
3e6cb3d84f Update man pages 2023-09-11 18:26:39 +00:00
LinkChecker
fcce23e434 Update doc translation catalogs 2023-09-11 18:26:22 +00:00
Chris Mayo
3a276cfc8c
Merge pull request #755 from cjmayo/python3.12
Add Python 3.12
2023-09-11 19:23:53 +01:00
Chris Mayo
e793e64c78 Add Python 3.12 2023-09-06 19:22:04 +01:00
Chris Mayo
40c39c27e6 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
2023-09-06 19:22:04 +01:00
Chris Mayo
ce640dcc36 Stop reporting deprecated sqlite3.version
To be removed in Python 3.14. We still have sqlite3.sqlite_version.
2023-09-06 19:22:04 +01:00
Chris Mayo
cd259e6a76
Merge pull request #757 from cjmayo/inheritance
Fix Code documentation inheritance diagram
2023-09-05 19:32:54 +01:00
Chris Mayo
2b7c4ff25b Fix Code documentation inheritance diagram
Broken in:
b3429c475 ("Remove support for nntp and telnet", 2023-08-28)
2023-09-05 19:29:56 +01:00
Chris Mayo
16621d475b
Merge pull request #754 from cjmayo/docs
Minor documentation updates
2023-09-04 19:23:56 +01:00
Chris Mayo
630de40660
Merge pull request #753 from cjmayo/deprecated
Minor deprecation fixes
2023-09-04 19:23:21 +01:00
Chris Mayo
0faccf2ab3
Merge pull request #752 from cjmayo/deprecated_modules
Remove support for nntp and telnet
2023-09-04 19:22:38 +01:00
Chris Mayo
3d630b880f
Merge pull request #751 from cjmayo/wraptext
Make TextLogger message wrapping configurable
2023-09-04 19:22:09 +01:00
Chris Mayo
2185f6ee82
Merge pull request #750 from cjmayo/redirected
Elevate redirection to a warning tagged http-redirected
2023-09-04 19:21:37 +01:00
Chris Mayo
384048d303 Improve application logging configuration comment 2023-08-28 19:32:28 +01:00
Chris Mayo
6536ec87a5 Fix typos in install.txt and faq.rst 2023-08-28 19:32:28 +01:00
Chris Mayo
05c4dde213 Update list of distributions 2023-08-28 19:32:28 +01:00
Chris Mayo
ad48c7db2c Make TextLogger message wrapping configurable 2023-08-28 19:30:11 +01:00
Chris Mayo
f5db6f4d53 Replace args.get() in TextLogger
Default values are defined in LoggerArgs.

When args.get() was first used LoggerArgs did not exist:
3b5e28ff5 ("Improved log end output: print number of duplicate error and warnings", 2008-06-11)

output_encoding is set in _Logger.__init__().
When this line was introduced the base Logger made utf-8 the default:
01c417c3c ("Default output encoding is now utf-8", 2009-02-18)
but that changed to i18n.default_encoding in:
f0b911b60 ("Use codecs module for proper output encoding.", 2010-11-21)
2023-08-28 19:30:11 +01:00
Chris Mayo
821d0e3db2 Remove Python <= 3.6 compatibility from TestRobotsTxt
3.7 code introduced in:
8678feaa5 ("Make TestRobotsTxt Python 3.7 compatible", 2019-04-22)
2023-08-28 19:26:25 +01:00
Chris Mayo
7763704067 Replace deprecated datetime.utcfromtimestamp() 2023-08-28 19:26:25 +01:00
Chris Mayo
6b239aae12 Replace deprecated __package__ 2023-08-28 19:26:25 +01:00
Chris Mayo
ce4bb7557b Update IANA schemes
telnet was included in:
ccd0d4ead ("Updated the list of unknown or ignored URI schemes.", 2014-03-12)
2023-08-28 19:24:57 +01:00