clear-skies-doc-builder 2.0.4__tar.gz → 2.0.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/.copier-answers.yml +3 -1
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/.github/workflows/create-version.yaml +9 -0
- clear_skies_doc_builder-2.0.6/.github/workflows/docs.yaml +51 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/.github/workflows/run-tests.yml +2 -1
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/.github/workflows/tests-matrix.yaml +6 -19
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/.pre-commit-config.yaml +0 -7
- clear_skies_doc_builder-2.0.6/.python-version +1 -0
- clear_skies_doc_builder-2.0.6/.vscode/settings.json +21 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/CHANGELOG.md +26 -0
- clear_skies_doc_builder-2.0.6/LATEST_CHANGELOG.md +12 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/PKG-INFO +1 -1
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/pyproject.toml +1 -1
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/ruff.toml +1 -1
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/backends/attribute_backend.py +2 -1
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/backends/class_backend.py +3 -2
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/backends/module_backend.py +10 -9
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/builders/module.py +1 -1
- clear_skies_doc_builder-2.0.6/uv.lock +898 -0
- clear_skies_doc_builder-2.0.4/.github/workflows/docs.yaml +0 -37
- clear_skies_doc_builder-2.0.4/LATEST_CHANGELOG.md +0 -5
- clear_skies_doc_builder-2.0.4/uv.lock +0 -748
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/.editorconfig +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/.github/workflows/tests.yaml +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/.gitignore +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/LICENSE +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/README.md +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/cliff.toml +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/__init__.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/backends/__init__.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/backends/python.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/build_callable.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/builders/__init__.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/builders/builder.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/builders/single_class.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/builders/single_class_to_section.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/columns/__init__.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/columns/any.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/columns/attribute.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/columns/attributes.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/columns/base_classes.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/columns/class_column.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/columns/method.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/columns/module.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/columns/module_classes.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/configs/__init__.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/models/__init__.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/models/arg.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/models/attribute.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/models/attribute_reference.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/models/class_model.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/models/class_reference.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/models/method.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/models/method_reference.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/models/module.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/models/module_reference.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/models/property.py +0 -0
- {clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/src/clearskies_doc_builder/prepare_doc_space.py +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
|
|
2
|
-
_commit: v0.0.
|
|
2
|
+
_commit: v0.0.45
|
|
3
3
|
_src_path: https://github.com/clearskies-py/clearskies-module-template
|
|
4
4
|
author_email: cmancone@gmail.com
|
|
5
5
|
author_name: Conor Mancone
|
|
@@ -8,5 +8,7 @@ create_columns: true
|
|
|
8
8
|
create_configs: true
|
|
9
9
|
create_endpoints: false
|
|
10
10
|
create_models: true
|
|
11
|
+
docs_modules_location: modules
|
|
11
12
|
module_display_name: Doc Builder
|
|
12
13
|
module_name: doc-builder
|
|
14
|
+
site_base_url: https://clearskies.info
|
|
@@ -128,3 +128,12 @@ jobs:
|
|
|
128
128
|
- name: Publish to PyPi
|
|
129
129
|
run: |
|
|
130
130
|
uv publish --token ${{ steps.fetch-secrets.outputs.pypi }}
|
|
131
|
+
|
|
132
|
+
publish-docs:
|
|
133
|
+
name: Publish Doc Site to S3
|
|
134
|
+
needs: bump-version
|
|
135
|
+
permissions:
|
|
136
|
+
id-token: write
|
|
137
|
+
contents: read
|
|
138
|
+
secrets: inherit
|
|
139
|
+
uses: ./.github/workflows/docs.yaml
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
name: Doc Publish
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
workflow_call:
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
publish:
|
|
9
|
+
if: github.ref == 'refs/heads/main'
|
|
10
|
+
name: Publish Doc Site to S3
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
permissions:
|
|
13
|
+
id-token: write
|
|
14
|
+
contents: read
|
|
15
|
+
steps:
|
|
16
|
+
- name: Checkout code
|
|
17
|
+
uses: actions/checkout@v4
|
|
18
|
+
with:
|
|
19
|
+
fetch-depth: 0
|
|
20
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
21
|
+
- name: Pull latest main
|
|
22
|
+
run: git pull origin main
|
|
23
|
+
- name: configure aws credentials
|
|
24
|
+
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502
|
|
25
|
+
with:
|
|
26
|
+
role-to-assume: ${{ secrets.AWS_ROLE_ARN }}
|
|
27
|
+
role-session-name: docs-deploy
|
|
28
|
+
aws-region: us-east-1
|
|
29
|
+
- name: Install uv and set the python version
|
|
30
|
+
uses: astral-sh/setup-uv@v6
|
|
31
|
+
with:
|
|
32
|
+
python-version: '3.12'
|
|
33
|
+
enable-cache: true
|
|
34
|
+
- name: Publish
|
|
35
|
+
run: |
|
|
36
|
+
cd docs/python
|
|
37
|
+
uv run build.py
|
|
38
|
+
sudo apt update
|
|
39
|
+
sudo apt-get install -y ruby ruby-dev jq
|
|
40
|
+
sudo gem install bundler
|
|
41
|
+
cd ../build
|
|
42
|
+
cp ../../README.md _includes/project_readme.md
|
|
43
|
+
cp ../../CHANGELOG.md _includes/project_changelog.md
|
|
44
|
+
sudo bundle install
|
|
45
|
+
sudo bundle exec jekyll build
|
|
46
|
+
cd _site
|
|
47
|
+
aws s3 sync --delete . s3://clearskies.info/modules/clear-skies-doc-builder/
|
|
48
|
+
cd ../../python
|
|
49
|
+
aws s3 cp s3://clearskies.info/modules/manifest.json . || touch manifest.json
|
|
50
|
+
uv run update_manifest.py --pyproject_file=../../pyproject.toml --modules_location=modules
|
|
51
|
+
aws s3 cp manifest.json s3://clearskies.info/modules/manifest.json
|
{clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/.github/workflows/run-tests.yml
RENAMED
|
@@ -67,7 +67,7 @@ jobs:
|
|
|
67
67
|
python-version: ${{ matrix.python-version }}
|
|
68
68
|
run-mypy: ${{ needs.changes.outputs.tests == 'true' }}
|
|
69
69
|
run-pytest: ${{ needs.changes.outputs.tests == 'true' }}
|
|
70
|
-
run-
|
|
70
|
+
run-ruff-format: ${{ needs.changes.outputs.tests == 'true' }}
|
|
71
71
|
run-ruff-check: ${{ needs.changes.outputs.tests == 'true' }}
|
|
72
72
|
secrets: inherit
|
|
73
73
|
strategy:
|
|
@@ -76,6 +76,7 @@ jobs:
|
|
|
76
76
|
- '3.11'
|
|
77
77
|
- '3.12'
|
|
78
78
|
- '3.13'
|
|
79
|
+
- '3.14'
|
|
79
80
|
fail-fast: false
|
|
80
81
|
|
|
81
82
|
status:
|
{clear_skies_doc_builder-2.0.4 → clear_skies_doc_builder-2.0.6}/.github/workflows/tests-matrix.yaml
RENAMED
|
@@ -14,7 +14,7 @@ on:
|
|
|
14
14
|
run-pytest:
|
|
15
15
|
required: true
|
|
16
16
|
type: boolean
|
|
17
|
-
run-
|
|
17
|
+
run-ruff-format:
|
|
18
18
|
required: true
|
|
19
19
|
type: boolean
|
|
20
20
|
run-ruff-check:
|
|
@@ -66,27 +66,14 @@ jobs:
|
|
|
66
66
|
- run: uv run pytest -v
|
|
67
67
|
- run: git diff --exit-code --stat HEAD
|
|
68
68
|
|
|
69
|
-
|
|
70
|
-
name:
|
|
69
|
+
ruff-format:
|
|
70
|
+
name: ruff-format
|
|
71
71
|
runs-on: ${{ inputs.runner }}
|
|
72
|
-
if: inputs.run-
|
|
72
|
+
if: inputs.run-ruff-format
|
|
73
73
|
steps:
|
|
74
|
-
- uses:
|
|
75
|
-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
76
|
-
with:
|
|
77
|
-
persist-credentials: false
|
|
78
|
-
|
|
79
|
-
- name: Install uv and set the python version
|
|
80
|
-
uses: astral-sh/setup-uv@v6
|
|
81
|
-
with:
|
|
82
|
-
python-version: ${{ inputs.python-version }}
|
|
83
|
-
enable-cache: true
|
|
84
|
-
- name: Install dependencies
|
|
85
|
-
run: uv sync --locked --all-extras --dev
|
|
86
|
-
- uses: psf/black@stable
|
|
74
|
+
- uses: astral-sh/ruff-action@v3
|
|
87
75
|
with:
|
|
88
|
-
|
|
89
|
-
src: "./src"
|
|
76
|
+
args: "format --diff"
|
|
90
77
|
|
|
91
78
|
ruff-check:
|
|
92
79
|
name: ruff-check
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# Pre-commit configuration for Akeyless Custom Producer
|
|
2
|
-
fail_fast: true
|
|
3
2
|
|
|
4
3
|
ci:
|
|
5
4
|
autofix_commit_msg: "chore(pre-commit): autofix run"
|
|
@@ -39,12 +38,6 @@ repos:
|
|
|
39
38
|
hooks:
|
|
40
39
|
- id: uv-lock
|
|
41
40
|
|
|
42
|
-
- repo: https://github.com/psf/black
|
|
43
|
-
rev: 25.1.0
|
|
44
|
-
hooks:
|
|
45
|
-
- id: black
|
|
46
|
-
files: \.py$
|
|
47
|
-
|
|
48
41
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
49
42
|
rev: v0.12.1
|
|
50
43
|
hooks:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.12
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"python.testing.pytestArgs": ["tests"],
|
|
3
|
+
"python.testing.unittestEnabled": false,
|
|
4
|
+
"python.testing.pytestEnabled": true,
|
|
5
|
+
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
|
|
6
|
+
"ruff.interpreter": ["${workspaceFolder}/.venv/bin/python"],
|
|
7
|
+
"ruff.path": ["${workspaceFolder}/.venv/bin/ruff"],
|
|
8
|
+
"ruff.configuration": "${workspaceFolder}/ruff.toml",
|
|
9
|
+
"ruff.nativeServer": "on",
|
|
10
|
+
"[python]": {
|
|
11
|
+
"editor.formatOnSave": true,
|
|
12
|
+
"editor.codeActionsOnSave": {
|
|
13
|
+
"source.fixAll": "explicit",
|
|
14
|
+
"source.organizeImports": "explicit"
|
|
15
|
+
},
|
|
16
|
+
"editor.defaultFormatter": "charliermarsh.ruff"
|
|
17
|
+
},
|
|
18
|
+
"mypy-type-checker.args": [
|
|
19
|
+
"--config-file=${workspaceFolder}/pyproject.toml"
|
|
20
|
+
]
|
|
21
|
+
}
|
|
@@ -5,11 +5,35 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.0.6] - 2026-01-28
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- Add some basic tests
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
- Update to latest copier version
|
|
15
|
+
- Update dependencies
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
- Update to latest clear-skies QueryRequest
|
|
19
|
+
|
|
20
|
+
## [2.0.5] - 2025-10-16
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
- Bump version to v2.0.5 by @github-actions[bot]
|
|
24
|
+
- Missing-f by @tnijboer in [#2](https://github.com/clearskies-py/doc-builder/pull/2)
|
|
25
|
+
- Missing-f by @cmancone
|
|
26
|
+
- Update copier
|
|
27
|
+
- Update copier
|
|
28
|
+
|
|
8
29
|
## [2.0.4] - 2025-09-03
|
|
9
30
|
|
|
10
31
|
### Added
|
|
11
32
|
- Add more folders to the build
|
|
12
33
|
|
|
34
|
+
### Changed
|
|
35
|
+
- Bump version to v2.0.4 by @github-actions[bot]
|
|
36
|
+
|
|
13
37
|
## [2.0.3] - 2025-09-03
|
|
14
38
|
|
|
15
39
|
### Changed
|
|
@@ -45,6 +69,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
45
69
|
* @ made their first contribution
|
|
46
70
|
* @tnijboer made their first contribution in [#1](https://github.com/clearskies-py/doc-builder/pull/1)
|
|
47
71
|
* @cmancone made their first contribution
|
|
72
|
+
[2.0.6]: https://github.com/clearskies-py/doc-builder/compare/v2.0.5..v2.0.6
|
|
73
|
+
[2.0.5]: https://github.com/clearskies-py/doc-builder/compare/v2.0.4..v2.0.5
|
|
48
74
|
[2.0.4]: https://github.com/clearskies-py/doc-builder/compare/v2.0.3..v2.0.4
|
|
49
75
|
[2.0.3]: https://github.com/clearskies-py/doc-builder/compare/v2.0.2..v2.0.3
|
|
50
76
|
[2.0.2]: https://github.com/clearskies-py/doc-builder/compare/v2.0.1..v2.0.2
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: clear-skies-doc-builder
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.6
|
|
4
4
|
Summary: The docbuilder for all 'official' clearskies plugins (as well as the main clearskies docs)
|
|
5
5
|
Project-URL: repository, https://github.com/clearskies-py/docs
|
|
6
6
|
Project-URL: issues, https://github.com/clearskies-py/docs/issues
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "clear-skies-doc-builder"
|
|
3
3
|
description = "The docbuilder for all 'official' clearskies plugins (as well as the main clearskies docs)"
|
|
4
|
-
version = "2.0.
|
|
4
|
+
version = "2.0.6"
|
|
5
5
|
license = "MIT"
|
|
6
6
|
readme = "./README.md"
|
|
7
7
|
authors = [{name = "Conor Mancone", email = "cmancone@gmail.com"}]
|
|
@@ -5,6 +5,7 @@ import clearskies
|
|
|
5
5
|
import clearskies.column
|
|
6
6
|
import clearskies.model
|
|
7
7
|
import clearskies.query
|
|
8
|
+
from clearskies.query.result import RecordsQueryResult
|
|
8
9
|
|
|
9
10
|
from clearskies_doc_builder.backends.module_backend import ModuleBackend
|
|
10
11
|
|
|
@@ -18,7 +19,7 @@ class AttributeBackend(ModuleBackend):
|
|
|
18
19
|
|
|
19
20
|
def records(
|
|
20
21
|
self, query: clearskies.query.Query, next_page_data: dict[str, str | int] | None = None
|
|
21
|
-
) ->
|
|
22
|
+
) -> RecordsQueryResult:
|
|
22
23
|
"""
|
|
23
24
|
Return a list of records that match the given query configuration.
|
|
24
25
|
|
|
@@ -7,6 +7,7 @@ import clearskies
|
|
|
7
7
|
import clearskies.column
|
|
8
8
|
import clearskies.model
|
|
9
9
|
import clearskies.query
|
|
10
|
+
from clearskies.query.result import RecordsQueryResult
|
|
10
11
|
|
|
11
12
|
from clearskies_doc_builder.backends.module_backend import ModuleBackend
|
|
12
13
|
|
|
@@ -19,7 +20,7 @@ class ClassBackend(ModuleBackend):
|
|
|
19
20
|
|
|
20
21
|
def records(
|
|
21
22
|
self, query: clearskies.query.Query, next_page_data: dict[str, str | int] | None = None
|
|
22
|
-
) ->
|
|
23
|
+
) -> RecordsQueryResult:
|
|
23
24
|
"""
|
|
24
25
|
Return a list of records that match the given query configuration.
|
|
25
26
|
|
|
@@ -53,7 +54,7 @@ class ClassBackend(ModuleBackend):
|
|
|
53
54
|
raise ValueError(
|
|
54
55
|
f"I was asked to import the class named '{import_path}' but this doesn't actually reference a class"
|
|
55
56
|
)
|
|
56
|
-
return [self.unpack(Class, module)]
|
|
57
|
+
return RecordsQueryResult(records=[self.unpack(Class, module)])
|
|
57
58
|
|
|
58
59
|
if "module" not in query.conditions_by_column:
|
|
59
60
|
raise ValueError(
|
|
@@ -9,6 +9,7 @@ import clearskies.model
|
|
|
9
9
|
import clearskies.query
|
|
10
10
|
from clearskies.autodoc.schema import Integer as AutoDocInteger
|
|
11
11
|
from clearskies.autodoc.schema import Schema as AutoDocSchema
|
|
12
|
+
from clearskies.query.result import CountQueryResult, RecordQueryResult, RecordsQueryResult, SuccessQueryResult
|
|
12
13
|
|
|
13
14
|
|
|
14
15
|
class ModuleBackend(clearskies.backends.Backend):
|
|
@@ -19,25 +20,25 @@ class ModuleBackend(clearskies.backends.Backend):
|
|
|
19
20
|
"module": lambda module, value: id(module) == id(value),
|
|
20
21
|
}
|
|
21
22
|
|
|
22
|
-
def update(self, id: int | str, data: dict[str, Any], model: clearskies.model.Model) ->
|
|
23
|
+
def update(self, id: int | str, data: dict[str, Any], model: clearskies.model.Model) -> RecordQueryResult:
|
|
23
24
|
"""Update the record with the given id with the information from the data dictionary."""
|
|
24
25
|
raise Exception(f"The {self.__class__.__name__} only supports read operations: update is not allowed")
|
|
25
26
|
|
|
26
|
-
def create(self, data: dict[str, Any], model: clearskies.model.Model) ->
|
|
27
|
+
def create(self, data: dict[str, Any], model: clearskies.model.Model) -> RecordQueryResult:
|
|
27
28
|
"""Create a record with the information from the data dictionary."""
|
|
28
29
|
raise Exception(f"The {self.__class__.__name__} only supports read operations: create is not allowed")
|
|
29
30
|
|
|
30
|
-
def delete(self, id: int | str, model: clearskies.model.Model) ->
|
|
31
|
+
def delete(self, id: int | str, model: clearskies.model.Model) -> SuccessQueryResult:
|
|
31
32
|
"""Delete the record with the given id."""
|
|
32
33
|
raise Exception(f"The {self.__class__.__name__} only supports read operations: delete is not allowed")
|
|
33
34
|
|
|
34
|
-
def count(self, query: clearskies.query.Query) ->
|
|
35
|
+
def count(self, query: clearskies.query.Query) -> CountQueryResult:
|
|
35
36
|
"""Return the number of records which match the given query configuration."""
|
|
36
|
-
return len(self.records(query))
|
|
37
|
+
return CountQueryResult(count=len(self.records(query).records))
|
|
37
38
|
|
|
38
39
|
def records(
|
|
39
40
|
self, query: clearskies.query.Query, next_page_data: dict[str, str | int] | None = None
|
|
40
|
-
) ->
|
|
41
|
+
) -> RecordsQueryResult:
|
|
41
42
|
"""
|
|
42
43
|
Return a list of records that match the given query configuration.
|
|
43
44
|
|
|
@@ -58,7 +59,7 @@ class ModuleBackend(clearskies.backends.Backend):
|
|
|
58
59
|
if module_name_condition:
|
|
59
60
|
module_name = module_name_condition[0].values[0]
|
|
60
61
|
module = importlib.import_module(module_name)
|
|
61
|
-
return [self.unpack(module)]
|
|
62
|
+
return RecordsQueryResult(records=[self.unpack(module)])
|
|
62
63
|
|
|
63
64
|
matching_modules = []
|
|
64
65
|
module_names = set(sys.modules) & set(globals())
|
|
@@ -92,8 +93,8 @@ class ModuleBackend(clearskies.backends.Backend):
|
|
|
92
93
|
"module": module,
|
|
93
94
|
}
|
|
94
95
|
|
|
95
|
-
def paginate(self, records, query):
|
|
96
|
-
return records
|
|
96
|
+
def paginate(self, records, query) -> RecordsQueryResult:
|
|
97
|
+
return RecordsQueryResult(records=records)
|
|
97
98
|
|
|
98
99
|
def validate_pagination_data(self, data: dict[str, Any], case_mapping: Callable) -> str:
|
|
99
100
|
extra_keys = set(data.keys()) - set(self.allowed_pagination_keys())
|
|
@@ -33,7 +33,7 @@ class Module(Builder):
|
|
|
33
33
|
self.raw_docblock_to_md(source_class.doc).lstrip("\n").lstrip(" ")
|
|
34
34
|
)
|
|
35
35
|
class_doc += f"\n\n# {title}\n\n{elevator_pitch}\n\n"
|
|
36
|
-
main_doc = "## Overview\n\n{overview}\n\n"
|
|
36
|
+
main_doc = f"## Overview\n\n{overview}\n\n"
|
|
37
37
|
table_of_contents = " 1. [Overview](#overview)\n"
|
|
38
38
|
|
|
39
39
|
# Find the documentation for all of our init args.
|