diff --git a/last_commit.txt b/last_commit.txt index c83f5e1490..3229e69025 100644 --- a/last_commit.txt +++ b/last_commit.txt @@ -1,131 +1,17 @@ -Repository: plone.api +Repository: plone.behavior -Branch: refs/heads/main -Date: 2024-12-17T23:22:50-08:00 -Author: Steve Piercy (stevepiercy) -Commit: https://github.com/plone/plone.api/commit/d25d630eb909ce84f78b301c0bab5d054026846b +Branch: refs/heads/master +Date: 2025-01-09T15:08:21+01:00 +Author: Gil Forcada Codinachs (gforcada) +Commit: https://github.com/plone/plone.behavior/commit/76e9772823dbed8a5901b43ad509a1fd112bcde5 -Remove Netlify stuff, follow up to #545 -- Sort and remove duplicate entries in `pyproject.toml` -- Remove unused docs requirements. -- Fix comments and remove unnecessary steps from `tox.ini`. -- Enable copy button for code blocks. -- Add linkcheck to documentation of documentation. +fix(ci): master branch is gone -Files changed: -M .meta.toml -M docs/conf.py -M docs/contribute.md -M pyproject.toml -M requirements-docs.txt -M tox.ini -D netlify.toml - -b'diff --git a/.meta.toml b/.meta.toml\nindex 79351086..621ba0c4 100644\n--- a/.meta.toml\n+++ b/.meta.toml\n@@ -19,7 +19,6 @@ check_manifest_ignores = """\n "constraints.txt",\n "fix-converted-myst.py",\n "Makefile",\n- "netlify.toml",\n "requirements-docs.txt",\n "requirements.txt",\n """\ndiff --git a/docs/conf.py b/docs/conf.py\nindex c20fbc67..25955cbd 100644\n--- a/docs/conf.py\n+++ b/docs/conf.py\n@@ -24,6 +24,7 @@\n "sphinx.ext.intersphinx",\n "sphinx.ext.todo",\n "sphinx.ext.viewcode",\n+ "sphinx_copybutton",\n ]\n master_doc = "index"\n \ndiff --git a/docs/contribute.md b/docs/contribute.md\nindex cf05e211..c32850a0 100644\n--- a/docs/contribute.md\n+++ b/docs/contribute.md\n@@ -121,6 +121,12 @@ Alternatively, you can automatically reload changes to the documentation as you\n tox -e livehtml\n ```\n \n+You can run a link checker on documentation.\n+\n+```shell\n+tox -e linkcheck\n+```\n+\n The [`plone.api` documentation](https://6.docs.plone.org/plone.api) is automatically generated from the documentation source files when its submodule is updated in the [main Plone `documentation` repository](https://github.com/plone/documentation/).\n \n ## Add a function to an existing module\ndiff --git a/netlify.toml b/netlify.toml\ndeleted file mode 100644\nindex 9d440d0e..00000000\n--- a/netlify.toml\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-[build.environment]\n- PYTHON_VERSION = "3.8"\n-\n-[build]\n- ignore = "git diff --quiet $CACHED_COMMIT_REF $COMMIT_REF ./docs/"\ndiff --git a/pyproject.toml b/pyproject.toml\nindex 2066aabf..1070bc63 100644\n--- a/pyproject.toml\n+++ b/pyproject.toml\n@@ -133,24 +133,22 @@ ignore-packages = [\'Products.PrintingMailHost\', \'plone.app.iterate\',]\n \n [tool.check-manifest]\n ignore = [\n+ "*.cfg",\n ".editorconfig",\n ".flake8",\n ".meta.toml",\n ".pre-commit-config.yaml",\n- "dependabot.yml",\n- "mx.ini",\n- "tox.ini",\n- ".editorconfig",\n- "*.cfg",\n+ ".readthedocs.yaml",\n+ "Makefile",\n+ "constraints.txt",\n "constraints_plone52.txt",\n "constraints_plone60.txt",\n- "constraints.txt",\n+ "dependabot.yml",\n "fix-converted-myst.py",\n- "Makefile",\n- "netlify.toml",\n+ "mx.ini",\n "requirements-docs.txt",\n "requirements.txt",\n-\n+ "tox.ini",\n ]\n \n ##\ndiff --git a/requirements-docs.txt b/requirements-docs.txt\nindex 694c282c..b0d1550c 100644\n--- a/requirements-docs.txt\n+++ b/requirements-docs.txt\n@@ -1,12 +1,5 @@\n-lesscpy\n linkify-it-py\n myst-parser\n plone-sphinx-theme\n sphinx-autobuild\n sphinx-copybutton\n-sphinx-sitemap\n-sphinx-togglebutton\n-sphinxcontrib-spelling\n-sphinxext-opengraph\n-sphinxcontrib-video\n-vale==2.30.0\ndiff --git a/tox.ini b/tox.ini\nindex eb6b27ae..8c18222e 100644\n--- a/tox.ini\n+++ b/tox.ini\n@@ -255,7 +255,7 @@ allowlist_externals =\n echo\n \n [testenv:plone6docs]\n-# New docs with sphinx-book-theme\n+# New docs with plone-sphinx-theme\n # See [testenv:docs] for classic documentation\n basepython = python3.11\n skip_install = False\n@@ -272,13 +272,9 @@ commands =\n sphinx-build -b html -d _build/plone6docs/doctrees docs _build/plone6docs/html\n \n [testenv:rtd-preview]\n-# New docs with sphinx-book-theme\n-# See [testenv:docs] for classic documentation\n+# Build docs on Read the Docs to preview pull requests using plone-sphinx-theme\n basepython = python3.11\n skip_install = False\n-package = editable\n-allowlist_externals =\n- mkdir\n extras =\n tests\n deps =\n' - -Repository: plone.api - - -Branch: refs/heads/main -Date: 2024-12-17T23:25:06-08:00 -Author: Steve Piercy (stevepiercy) -Commit: https://github.com/plone/plone.api/commit/b1a021becb89c5a429e504b02be6011a2aec81dd - -news - -Files changed: -A news/546.documentation - -b'diff --git a/news/546.documentation b/news/546.documentation\nnew file mode 100644\nindex 00000000..c1276eaf\n--- /dev/null\n+++ b/news/546.documentation\n@@ -0,0 +1,6 @@\n+Remove Netlify stuff, follow up to #545. @stevepiercy\n+- Sort and remove duplicate entries in `pyproject.toml`\n+- Remove unused docs requirements.\n+- Fix comments and remove unnecessary steps from `tox.ini`.\n+- Enable copy button for code blocks.\n+- Add linkcheck to documentation of documentation.\n' - -Repository: plone.api - - -Branch: refs/heads/main -Date: 2024-12-17T23:29:55-08:00 -Author: Steve Piercy (stevepiercy) -Commit: https://github.com/plone/plone.api/commit/f2e02457826c249b075375967e0691451f401ade - -Merge branch 'main' into rtd-preview - -Files changed: -A news/545.documentation -M MANIFEST.in - -b'diff --git a/MANIFEST.in b/MANIFEST.in\nindex 162a5ec9..c89b5bdb 100644\n--- a/MANIFEST.in\n+++ b/MANIFEST.in\n@@ -14,6 +14,7 @@ include pyproject.toml\n recursive-exclude news *\n exclude news\n recursive-exclude .vscode *\n+exclude .readthedocs.yaml\n \n # added by check-manifest\n recursive-include src *.py\ndiff --git a/news/545.documentation b/news/545.documentation\nnew file mode 100644\nindex 00000000..ac078ab0\n--- /dev/null\n+++ b/news/545.documentation\n@@ -0,0 +1 @@\n+Preview docs on Read the Docs instead of Netlify. @stevepiercy\n' - -Repository: plone.api - - -Branch: refs/heads/main -Date: 2024-12-18T01:17:03-08:00 -Author: Steve Piercy (stevepiercy) -Commit: https://github.com/plone/plone.api/commit/49050178d0847cbd335b3767197b903d5a6efff0 - -Use the correct theme - -Files changed: -M docs/conf.py - -b'diff --git a/docs/conf.py b/docs/conf.py\nindex 25955cbd..1519ad67 100644\n--- a/docs/conf.py\n+++ b/docs/conf.py\n@@ -83,7 +83,7 @@ def __getattr__(cls, name):\n # The theme to use for HTML and HTML Help pages. See the documentation for\n # a list of builtin themes.\n #\n-html_theme = "sphinx_book_theme"\n+html_theme = "plone_sphinx_theme"\n \n \n # -- Intersphinx configuration ----------------------------------\n' - -Repository: plone.api - - -Branch: refs/heads/main -Date: 2025-01-05T17:42:09-08:00 -Author: Steve Piercy (stevepiercy) -Commit: https://github.com/plone/plone.api/commit/db089b9cbd63ab7742764c6b8f238547fba59b0f - -- Move `tox.ini` for documentation configuration into `.meta.toml`. -- Revert sort of `.gitignore` and add `.readthedocs.yaml` to the correct stanza in `.meta.toml`. - -Files changed: -M .meta.toml -M pyproject.toml - -b'diff --git a/.meta.toml b/.meta.toml\nindex 621ba0c4..38a7e0aa 100644\n--- a/.meta.toml\n+++ b/.meta.toml\n@@ -12,8 +12,10 @@ codespell_extra_lines = """\n \n [pyproject]\n check_manifest_ignores = """\n- ".editorconfig",\n+ # From `.meta.toml`, pyproject.check_manifest_ignores.\n "*.cfg",\n+ ".editorconfig",\n+ ".readthedocs.yaml",\n "constraints_plone52.txt",\n "constraints_plone60.txt",\n "constraints.txt",\n@@ -76,7 +78,7 @@ allowlist_externals =\n echo\n \n [testenv:plone6docs]\n-# New docs with sphinx-book-theme\n+# New docs with plone-sphinx-theme\n # See [testenv:docs] for classic documentation\n basepython = python3.11\n skip_install = False\n@@ -92,6 +94,18 @@ commands =\n mkdir -p {toxinidir}/_build/plone6docs\n sphinx-build -b html -d _build/plone6docs/doctrees docs _build/plone6docs/html\n \n+[testenv:rtd-preview]\n+# Build docs on Read the Docs to preview pull requests using plone-sphinx-theme\n+basepython = python3.11\n+skip_install = False\n+extras =\n+ tests\n+deps =\n+ -r requirements-docs.txt\n+commands =\n+ python -VV\n+ sphinx-build -b html -d "{env:READTHEDOCS_OUTPUT}"/doctrees/ docs "{env:READTHEDOCS_OUTPUT}"/html/\n+\n [testenv:docs]\n basepython = python3.9\n skip_install = False\n@@ -126,6 +140,21 @@ commands =\n python -VV\n mkdir -p {toxinidir}/_build/plone6docs\n sphinx-build -b linkcheck -d _build/plone6docs/doctrees docs _build/plone6docs/linkcheck\n+\n+[testenv:livehtml]\n+basepython = python3.11\n+skip_install = False\n+package = editable\n+allowlist_externals =\n+ mkdir\n+extras =\n+ {[testenv:plone6docs]extras}\n+deps =\n+ {[testenv:plone6docs]deps}\n+commands =\n+ python -VV\n+ mkdir -p {toxinidir}/_build/plone6docs\n+ sphinx-autobuild -b html -d _build/plone6docs/doctrees docs _build/plone6docs/html\n """\n \n [github]\ndiff --git a/pyproject.toml b/pyproject.toml\nindex 1070bc63..b97216f1 100644\n--- a/pyproject.toml\n+++ b/pyproject.toml\n@@ -133,22 +133,24 @@ ignore-packages = [\'Products.PrintingMailHost\', \'plone.app.iterate\',]\n \n [tool.check-manifest]\n ignore = [\n- "*.cfg",\n ".editorconfig",\n ".flake8",\n ".meta.toml",\n ".pre-commit-config.yaml",\n+ "dependabot.yml",\n+ "mx.ini",\n+ "tox.ini",\n+ "*.cfg",\n+ ".editorconfig",\n ".readthedocs.yaml",\n- "Makefile",\n- "constraints.txt",\n "constraints_plone52.txt",\n "constraints_plone60.txt",\n- "dependabot.yml",\n+ "constraints.txt",\n "fix-converted-myst.py",\n- "mx.ini",\n+ "Makefile",\n "requirements-docs.txt",\n "requirements.txt",\n- "tox.ini",\n+\n ]\n \n ##\n' - -Repository: plone.api - - -Branch: refs/heads/main -Date: 2025-01-07T13:46:25-08:00 -Author: Steve Piercy (stevepiercy) -Commit: https://github.com/plone/plone.api/commit/c92b7c83e0eefa1320c5ee54e1dd766f81d1ace9 - -Merge branch 'main' into rtd-preview - -Files changed: -A news/549.bugfix -M .github/workflows/plone_python.yml -M src/plone/api/content.py -M src/plone/api/tests/test_content.py - -b'diff --git a/.github/workflows/plone_python.yml b/.github/workflows/plone_python.yml\nindex 30430e84..d34731d1 100644\n--- a/.github/workflows/plone_python.yml\n+++ b/.github/workflows/plone_python.yml\n@@ -16,7 +16,7 @@ jobs:\n strategy:\n fail-fast: false\n matrix:\n- python-version: ["3.8", "3.9", "3.10", "3.11"]\n+ python-version: ["3.9", "3.10", "3.11"]\n plone-version: ["6.0"]\n \n steps:\ndiff --git a/news/549.bugfix b/news/549.bugfix\nnew file mode 100644\nindex 00000000..2d2d3666\n--- /dev/null\n+++ b/news/549.bugfix\n@@ -0,0 +1,2 @@\n+Fix api.content.get(path=path) when a item in the path is not accessible to the user.\n+[pbauer]\ndiff --git a/src/plone/api/content.py b/src/plone/api/content.py\nindex 95515de9..f0a9c850 100644\n--- a/src/plone/api/content.py\n+++ b/src/plone/api/content.py\n@@ -133,7 +133,12 @@ def get(path=None, UID=None):\n relative_path=path,\n )\n try:\n- content = site.restrictedTraverse(path)\n+ path = path.split("/")\n+ if len(path) > 1:\n+ parent = site.unrestrictedTraverse(path[:-1])\n+ content = parent.restrictedTraverse(path[-1])\n+ else:\n+ content = site.restrictedTraverse(path[-1])\n except (KeyError, AttributeError):\n return None # When no object is found don\'t raise an error\n else:\ndiff --git a/src/plone/api/tests/test_content.py b/src/plone/api/tests/test_content.py\nindex 41caebc0..4e9b701b 100644\n--- a/src/plone/api/tests/test_content.py\n+++ b/src/plone/api/tests/test_content.py\n@@ -478,6 +478,16 @@ def test_get(self):\n # title is an attribute\n self.assertIsNone(api.content.get("/about/team/title"))\n \n+ def test_get_of_content_in_inaccessible_container(self):\n+ """Test getting items in a inaccessible container.\n+ Worked in Plone 5.1 but raised Unauthorized since 5.2."""\n+ api.content.transition(obj=self.team, transition="publish")\n+ with api.env.adopt_roles(["Member"]):\n+ team_by_path = api.content.get("/about/team")\n+ self.assertEqual(self.team, team_by_path)\n+ team_by_uid = api.content.get(UID=self.team.UID())\n+ self.assertEqual(self.team, team_by_uid)\n+\n def test_move_constraints(self):\n """Test the constraints for moving content."""\n from plone.api.exc import MissingParameterError\n' - -Repository: plone.api - - -Branch: refs/heads/main -Date: 2025-01-07T17:45:16-08:00 -Author: Steve Piercy (stevepiercy) -Commit: https://github.com/plone/plone.api/commit/dbb559593ea89f86603dadb41822d99bb24894d0 - -Merge pull request #546 from plone/rtd-preview - -Remove Netlify stuff, follow up to #545 +In plone/meta repository Files changed: -A news/546.documentation -M .meta.toml -M docs/conf.py -M docs/contribute.md -M pyproject.toml -M requirements-docs.txt -M tox.ini -D netlify.toml +M .github/workflows/meta.yml -b'diff --git a/.meta.toml b/.meta.toml\nindex 79351086..38a7e0aa 100644\n--- a/.meta.toml\n+++ b/.meta.toml\n@@ -12,14 +12,15 @@ codespell_extra_lines = """\n \n [pyproject]\n check_manifest_ignores = """\n- ".editorconfig",\n+ # From `.meta.toml`, pyproject.check_manifest_ignores.\n "*.cfg",\n+ ".editorconfig",\n+ ".readthedocs.yaml",\n "constraints_plone52.txt",\n "constraints_plone60.txt",\n "constraints.txt",\n "fix-converted-myst.py",\n "Makefile",\n- "netlify.toml",\n "requirements-docs.txt",\n "requirements.txt",\n """\n@@ -77,7 +78,7 @@ allowlist_externals =\n echo\n \n [testenv:plone6docs]\n-# New docs with sphinx-book-theme\n+# New docs with plone-sphinx-theme\n # See [testenv:docs] for classic documentation\n basepython = python3.11\n skip_install = False\n@@ -93,6 +94,18 @@ commands =\n mkdir -p {toxinidir}/_build/plone6docs\n sphinx-build -b html -d _build/plone6docs/doctrees docs _build/plone6docs/html\n \n+[testenv:rtd-preview]\n+# Build docs on Read the Docs to preview pull requests using plone-sphinx-theme\n+basepython = python3.11\n+skip_install = False\n+extras =\n+ tests\n+deps =\n+ -r requirements-docs.txt\n+commands =\n+ python -VV\n+ sphinx-build -b html -d "{env:READTHEDOCS_OUTPUT}"/doctrees/ docs "{env:READTHEDOCS_OUTPUT}"/html/\n+\n [testenv:docs]\n basepython = python3.9\n skip_install = False\n@@ -127,6 +140,21 @@ commands =\n python -VV\n mkdir -p {toxinidir}/_build/plone6docs\n sphinx-build -b linkcheck -d _build/plone6docs/doctrees docs _build/plone6docs/linkcheck\n+\n+[testenv:livehtml]\n+basepython = python3.11\n+skip_install = False\n+package = editable\n+allowlist_externals =\n+ mkdir\n+extras =\n+ {[testenv:plone6docs]extras}\n+deps =\n+ {[testenv:plone6docs]deps}\n+commands =\n+ python -VV\n+ mkdir -p {toxinidir}/_build/plone6docs\n+ sphinx-autobuild -b html -d _build/plone6docs/doctrees docs _build/plone6docs/html\n """\n \n [github]\ndiff --git a/docs/conf.py b/docs/conf.py\nindex c20fbc67..1519ad67 100644\n--- a/docs/conf.py\n+++ b/docs/conf.py\n@@ -24,6 +24,7 @@\n "sphinx.ext.intersphinx",\n "sphinx.ext.todo",\n "sphinx.ext.viewcode",\n+ "sphinx_copybutton",\n ]\n master_doc = "index"\n \n@@ -82,7 +83,7 @@ def __getattr__(cls, name):\n # The theme to use for HTML and HTML Help pages. See the documentation for\n # a list of builtin themes.\n #\n-html_theme = "sphinx_book_theme"\n+html_theme = "plone_sphinx_theme"\n \n \n # -- Intersphinx configuration ----------------------------------\ndiff --git a/docs/contribute.md b/docs/contribute.md\nindex cf05e211..c32850a0 100644\n--- a/docs/contribute.md\n+++ b/docs/contribute.md\n@@ -121,6 +121,12 @@ Alternatively, you can automatically reload changes to the documentation as you\n tox -e livehtml\n ```\n \n+You can run a link checker on documentation.\n+\n+```shell\n+tox -e linkcheck\n+```\n+\n The [`plone.api` documentation](https://6.docs.plone.org/plone.api) is automatically generated from the documentation source files when its submodule is updated in the [main Plone `documentation` repository](https://github.com/plone/documentation/).\n \n ## Add a function to an existing module\ndiff --git a/netlify.toml b/netlify.toml\ndeleted file mode 100644\nindex 9d440d0e..00000000\n--- a/netlify.toml\n+++ /dev/null\n@@ -1,5 +0,0 @@\n-[build.environment]\n- PYTHON_VERSION = "3.8"\n-\n-[build]\n- ignore = "git diff --quiet $CACHED_COMMIT_REF $COMMIT_REF ./docs/"\ndiff --git a/news/546.documentation b/news/546.documentation\nnew file mode 100644\nindex 00000000..c1276eaf\n--- /dev/null\n+++ b/news/546.documentation\n@@ -0,0 +1,6 @@\n+Remove Netlify stuff, follow up to #545. @stevepiercy\n+- Sort and remove duplicate entries in `pyproject.toml`\n+- Remove unused docs requirements.\n+- Fix comments and remove unnecessary steps from `tox.ini`.\n+- Enable copy button for code blocks.\n+- Add linkcheck to documentation of documentation.\ndiff --git a/pyproject.toml b/pyproject.toml\nindex 2066aabf..b97216f1 100644\n--- a/pyproject.toml\n+++ b/pyproject.toml\n@@ -140,14 +140,14 @@ ignore = [\n "dependabot.yml",\n "mx.ini",\n "tox.ini",\n- ".editorconfig",\n "*.cfg",\n+ ".editorconfig",\n+ ".readthedocs.yaml",\n "constraints_plone52.txt",\n "constraints_plone60.txt",\n "constraints.txt",\n "fix-converted-myst.py",\n "Makefile",\n- "netlify.toml",\n "requirements-docs.txt",\n "requirements.txt",\n \ndiff --git a/requirements-docs.txt b/requirements-docs.txt\nindex 694c282c..b0d1550c 100644\n--- a/requirements-docs.txt\n+++ b/requirements-docs.txt\n@@ -1,12 +1,5 @@\n-lesscpy\n linkify-it-py\n myst-parser\n plone-sphinx-theme\n sphinx-autobuild\n sphinx-copybutton\n-sphinx-sitemap\n-sphinx-togglebutton\n-sphinxcontrib-spelling\n-sphinxext-opengraph\n-sphinxcontrib-video\n-vale==2.30.0\ndiff --git a/tox.ini b/tox.ini\nindex eb6b27ae..8c18222e 100644\n--- a/tox.ini\n+++ b/tox.ini\n@@ -255,7 +255,7 @@ allowlist_externals =\n echo\n \n [testenv:plone6docs]\n-# New docs with sphinx-book-theme\n+# New docs with plone-sphinx-theme\n # See [testenv:docs] for classic documentation\n basepython = python3.11\n skip_install = False\n@@ -272,13 +272,9 @@ commands =\n sphinx-build -b html -d _build/plone6docs/doctrees docs _build/plone6docs/html\n \n [testenv:rtd-preview]\n-# New docs with sphinx-book-theme\n-# See [testenv:docs] for classic documentation\n+# Build docs on Read the Docs to preview pull requests using plone-sphinx-theme\n basepython = python3.11\n skip_install = False\n-package = editable\n-allowlist_externals =\n- mkdir\n extras =\n tests\n deps =\n' +b'diff --git a/.github/workflows/meta.yml b/.github/workflows/meta.yml\nindex 4748f0f..a7f25e0 100644\n--- a/.github/workflows/meta.yml\n+++ b/.github/workflows/meta.yml\n@@ -15,14 +15,14 @@ on:\n \n jobs:\n qa:\n- uses: plone/meta/.github/workflows/qa.yml@master\n+ uses: plone/meta/.github/workflows/qa.yml@main\n test:\n- uses: plone/meta/.github/workflows/test.yml@master\n+ uses: plone/meta/.github/workflows/test.yml@main\n coverage:\n- uses: plone/meta/.github/workflows/coverage.yml@master\n+ uses: plone/meta/.github/workflows/coverage.yml@main\n dependencies:\n- uses: plone/meta/.github/workflows/dependencies.yml@master\n+ uses: plone/meta/.github/workflows/dependencies.yml@main\n release-ready:\n- uses: plone/meta/.github/workflows/release_ready.yml@master\n+ uses: plone/meta/.github/workflows/release_ready.yml@main\n circular:\n- uses: plone/meta/.github/workflows/circular.yml@master\n+ uses: plone/meta/.github/workflows/circular.yml@main\n'