Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/mar10/wsgidav
Browse files Browse the repository at this point in the history
  • Loading branch information
mar10 committed Sep 12, 2024
2 parents 542b7eb + 91a0731 commit 0a0a273
Show file tree
Hide file tree
Showing 55 changed files with 599 additions and 493 deletions.
9 changes: 8 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
# Changelog

## 4.3.3 / Unreleased
## 4.3.4 / Unreleased

## 4.3.3 / 2024-05-04

- Deprecate Python 3.8 (EOL: 2024-10-14)
- Build Windows installer with Python 3.12
- Update to Cheroot 10.8
- [#315](https://github.com/mar10/wsgidav/issues/315) CHANGELOG.md is installed into the virtualenv or prefix root directory

## 4.3.2 / 2024-03-29

Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License

Copyright (c) 2009-2023 Martin Wendt, (Original PyFileServer (c) 2005 Ho Chun Wei)
Copyright (c) 2009-2024 Martin Wendt, (Original PyFileServer (c) 2005 Ho Chun Wei)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 1 addition & 1 deletion Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ json5 = "*"

[requires]
# cx_Freeze 6.x does not yet support Pathon 3.12
python_version = "3.11"
python_version = "3.12"

[pipenv]
# allow_prereleases = true
884 changes: 487 additions & 397 deletions Pipfile.lock

Large diffs are not rendered by default.

42 changes: 21 additions & 21 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
# -- Project information -----------------------------------------------------

project = "WsgiDAV"
copyright = "2009-2023 Martin Wendt, 2005 Ho Chun Wei"
copyright = "2009-2024 Martin Wendt, 2005 Ho Chun Wei"
author = "Martin Wendt"

# The full version, including alpha/beta/rc tags
Expand Down Expand Up @@ -139,7 +139,7 @@
}

# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
# html_theme_path = []
# html_theme = 'bootstrap'
# html_theme_path = sphinx_bootstrap_theme.get_html_theme_path()

Expand All @@ -166,10 +166,10 @@

# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
# html_title = None

# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# html_short_title = None

# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
Expand All @@ -178,48 +178,48 @@
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
html_favicon = 'favicon.ico'
html_favicon = "favicon.ico"

# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
html_static_path = ["_static"]

# Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied
# directly to the root of the documentation.
#html_extra_path = []
# html_extra_path = []

# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'
# html_last_updated_fmt = '%b %d, %Y'

# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
html_use_smartypants = False

# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# html_sidebars = {}

# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# html_additional_pages = {}

# If false, no module index is generated.
#html_domain_indices = True
# html_domain_indices = True

# If false, no index is generated.
#html_use_index = True
# html_use_index = True

# If true, the index is split into individual pages for each letter.
#html_split_index = False
# html_split_index = False

# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# html_show_sourcelink = True
html_show_sourcelink = False

# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# html_show_sphinx = True
html_show_sphinx = False

# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
Expand All @@ -228,27 +228,27 @@
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# html_use_opensearch = ''

# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# html_file_suffix = None

# Language to be used for generating the HTML full-text search index.
# Sphinx supports the following languages:
# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja'
# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr'
#html_search_language = 'en'
# html_search_language = 'en'

# A dictionary with options for the search language support, empty by default.
# Now only 'ja' uses this config value
#html_search_options = {'type': 'default'}
# html_search_options = {'type': 'default'}

# The name of a javascript file (relative to the configuration directory) that
# implements a search results scorer. If empty, the default will be used.
#html_search_scorer = 'scorer.js'
# html_search_scorer = 'scorer.js'

# Output file base name for HTML help builder.
htmlhelp_basename = 'wsgidavdoc'
htmlhelp_basename = "wsgidavdoc"


# -- Extension configuration -------------------------------------------------
Expand Down
10 changes: 5 additions & 5 deletions docs/source/development.rst
Original file line number Diff line number Diff line change
Expand Up @@ -121,12 +121,12 @@ Create and Activate a Virtual Environment

Virtual environments allow us to develop and test in a sandbox, without affecting our
system otherwise. |br|
We need `Python 2.7 <https://www.python.org/downloads/>`_,
`Python 3.4+ <https://www.python.org/downloads/>`_,
and `pip <https://pip.pypa.io/en/stable/installing/#do-i-need-to-install-pip>`_ on our system.
We need `Python 3.9+ <https://www.python.org/downloads/>`_,
and `pip <https://pip.pypa.io/en/stable/installing/#do-i-need-to-install-pip>`_
on our system.

If you want to run tests on *all supported* platforms, install Python 3.7, 3.8,
3.9, 3.10, and 3.11.
If you want to run tests on *all supported* platforms, install Python
3.9, 3.10, 3.11 and 3.12.

On Linux/OS X, we recommend to use `pipenv <https://github.com/kennethreitz/pipenv>`_
to activate a virtual environment::
Expand Down
18 changes: 9 additions & 9 deletions requirements-dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,20 @@

-r requirements.txt

cheroot~=8.5
Paste~=2.0
cheroot~=10.0
Paste~=3.0
black~=24.3
pytest~=2.7
pytest-cov~=1.8
pytest~=8.2
pytest-cov~=5.0
recommonmark
requests
ruff
setuptools~=40.2
setuptools~=69.5
#Sphinx
#sphinx_rtd_theme
stressor
tox~=3.13
twine~=1.11
WebTest~=2.0
tox~=4.15
twine~=5.0
WebTest~=3.0
wheel
yabs>=0.5
yabs>=0.6
4 changes: 2 additions & 2 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defusedxml~=0.7.1
Jinja2~=3.0
json5~=0.8.5
Jinja2~=3.1
json5~=0.9
python-pam~=2.0
PyYAML~=6.0
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ wsgidav =


[options.data_files]
. = CHANGELOG.md
# . = CHANGELOG.md # See #315 'CHANGELOG.md is installed into the virtualenv or prefix root directory'


[options.entry_points]
Expand Down
4 changes: 2 additions & 2 deletions setup_bdist_msi.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@
target_name="wsgidav.exe",
icon="docs/source/logo.ico",
shortcut_name="WsgiDAV",
copyright="(c) 2009-2023 Martin Wendt",
copyright="(c) 2009-2024 Martin Wendt",
# trademarks="...",
)
]
Expand All @@ -105,7 +105,7 @@
"excludes": [
"tkinter",
],
"constants": "BUILD_COPYRIGHT='(c) 2009-2023 Martin Wendt'",
"constants": "BUILD_COPYRIGHT='(c) 2009-2024 Martin Wendt'",
# "init_script": "Console",
"include_msvcr": True,
}
Expand Down
2 changes: 1 addition & 1 deletion tests/benchmarks.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# (c) 2009-2023 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# (c) 2009-2024 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# Licensed under the MIT license:
# http://www.opensource.org/licenses/mit-license.php
"""
Expand Down
2 changes: 1 addition & 1 deletion tests/test_http.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# (c) 2009-2023 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# (c) 2009-2024 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# Licensed under the MIT license:
# http://www.opensource.org/licenses/mit-license.php
"""
Expand Down
2 changes: 1 addition & 1 deletion tests/test_litmus.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# (c) 2009-2023 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# (c) 2009-2024 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# Licensed under the MIT license:
# http://www.opensource.org/licenses/mit-license.php
r"""
Expand Down
4 changes: 2 additions & 2 deletions tests/test_lock_manager.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# (c) 2009-2023 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# (c) 2009-2024 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# Licensed under the MIT license:
# http://www.opensource.org/licenses/mit-license.php
"""Unit test for lock_manager.py"""
Expand Down Expand Up @@ -404,7 +404,7 @@ def setUp(self):
raise unittest.SkipTest("Test requires a running redis instance (again)")

try:
import redis
import redis # type: ignore

r = redis.Redis()
r.ping()
Expand Down
2 changes: 1 addition & 1 deletion tests/test_property_manager.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# (c) 2009-2023 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# (c) 2009-2024 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# Licensed under the MIT license:
# http://www.opensource.org/licenses/mit-license.php
"""Unit test for property_manager.py"""
Expand Down
2 changes: 1 addition & 1 deletion tests/test_scripted.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# (c) 2009-2023 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# (c) 2009-2024 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# Licensed under the MIT license:
# http://www.opensource.org/licenses/mit-license.php
"""
Expand Down
2 changes: 1 addition & 1 deletion tests/test_streaming.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# (c) 2009-2023 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# (c) 2009-2024 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# Licensed under the MIT license:
# http://www.opensource.org/licenses/mit-license.php

Expand Down
2 changes: 1 addition & 1 deletion tests/test_util.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# (c) 2009-2023 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# (c) 2009-2024 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# Licensed under the MIT license:
# http://www.opensource.org/licenses/mit-license.php
"""Unit tests for wsgidav.util"""
Expand Down
2 changes: 1 addition & 1 deletion tests/test_wsgidav_app.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# (c) 2009-2023 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# (c) 2009-2024 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# Licensed under the MIT license:
# http://www.opensource.org/licenses/mit-license.php
"""
Expand Down
2 changes: 1 addition & 1 deletion tests/util.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# (c) 2009-2023 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# (c) 2009-2024 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# Licensed under the MIT license:
# http://www.opensource.org/licenses/mit-license.php
"""
Expand Down
23 changes: 16 additions & 7 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ envlist =
py39 # EOL 2025-10-05
py38 # EOL 2024-10-14
# Deprecated:
py37 # EOL 2023-06-27
# py37 # EOL 2023-06-27
# py36 # EOL 2021-12-21
# py35 # EOL 2020-09-13
# py34 # EOL 2019-03-18
Expand Down Expand Up @@ -109,22 +109,31 @@ commands =

[testenv:format]
description = Reformat python code using Black and isort
# skip_install = true
deps =
{[testenv:check]deps}
pyupgrade
allowlist_externals:
bash
changedir = {toxinidir}
commands =
bash -ec 'pyupgrade --py37-plus --exit-zero-even-if-changed wsgidav/*.py tests/*.py setup.py'
ruff check --fix wsgidav tests setup.py
; ruff format wsgidav tests setup.py
isort --profile black wsgidav tests setup.py {posargs}
black wsgidav tests setup.py
{[testenv:lint]commands}


[testenv:upgrade]
description = Upgrade Python syntax to least supported version
deps =
{[testenv:format]deps}
pyupgrade
allowlist_externals:
bash
changedir = {toxinidir}
commands =
# Needs bash-style file pattern expansion:
bash -ec 'pyupgrade --py37-plus --exit-zero-even-if-changed wsgidav/*.py tests/*.py setup.py'
{[testenv:format]commands}


[testenv:docs]
description = Build Sphinx documentation (output directory: docs/sphinx-build)
changedir = docs
Expand Down Expand Up @@ -153,7 +162,7 @@ commands =

[testenv:bdist_msi]
description = Build MSI installer in dist/ (Windows only)
# basepython = python3.7
# basepython = python3.12
changedir = .
deps =
cx_Freeze
Expand Down
2 changes: 1 addition & 1 deletion wsgidav/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"3.0.0a4" seems not to work in this case!
"""

__version__ = "4.3.3-a1"
__version__ = "4.3.4-a1"

# make version accessible as 'wsgidav.__version__'
# from wsgidav._version import __version__ # noqa: F401
Expand Down
2 changes: 1 addition & 1 deletion wsgidav/dav_error.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# (c) 2009-2023 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# (c) 2009-2024 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# Original PyFileServer (c) 2005 Ho Chun Wei.
# Licensed under the MIT license:
# http://www.opensource.org/licenses/mit-license.php
Expand Down
2 changes: 1 addition & 1 deletion wsgidav/dav_provider.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# (c) 2009-2023 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# (c) 2009-2024 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# Original PyFileServer (c) 2005 Ho Chun Wei.
# Licensed under the MIT license:
# http://www.opensource.org/licenses/mit-license.php
Expand Down
2 changes: 1 addition & 1 deletion wsgidav/dc/base_dc.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# (c) 2009-2023 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# (c) 2009-2024 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
"""
Abstract base class of a domain controller (used by HTTPAuthenticator).
Expand Down
2 changes: 1 addition & 1 deletion wsgidav/dc/nt_dc.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# (c) 2009-2023 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# (c) 2009-2024 Martin Wendt and contributors; see WsgiDAV https://github.com/mar10/wsgidav
# Original PyFileServer (c) 2005 Ho Chun Wei.
# Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
"""
Expand Down
Loading

0 comments on commit 0a0a273

Please sign in to comment.