wexample-wex-addon-process 4.0.0__tar.gz → 4.1.0__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.
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/PKG-INFO +4 -4
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/README.md +2 -2
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/pyproject.toml +2 -2
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/process_type/filestate/file_state_option_process_type.py +15 -12
- wexample_wex_addon_process-4.1.0/tests/unit/test_verdict_locations.py +38 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/__init__.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/commands/__init__.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/commands/run/__init__.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/commands/run/execute.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/commands/worker/__init__.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/commands/worker/start.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/const/__init__.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/const/filestate.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/const/process.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/exception/__init__.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/exception/run_cancelled_exception.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/helper/__init__.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/helper/git_commit.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/process_addon_manager.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/process_type/__init__.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/process_type/abstract_process_type.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/process_type/family/__init__.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/process_type/family/abstract_process_type_family.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/process_type/family/file_state_process_type_family.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/process_type/filestate/__init__.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/process_type/filestate/file_state_report_process_type.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/process_type/process_context.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/process_type/process_type_registry.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/process_type/selection.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/py.typed +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/record/__init__.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/record/record_file.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/runner/__init__.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/runner/process_runner.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/selection/__init__.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/selection/abstract_code_from_directory_selection.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/selection/abstract_process_selection.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/selection/selection_registry.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/service/__init__.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/src/wexample_wex_addon_process/service/process_run_service.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/tests/.gitkeep +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/tests/unit/__init__.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/tests/unit/test_artifacts.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/tests/unit/test_long_runs.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/tests/unit/test_run_overrides.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/tests/unit/test_selection.py +0 -0
- {wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/tests/unit/test_skip_and_failure.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: wexample-wex-addon-process
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.1.0
|
|
4
4
|
Summary: Executes process runs defined on disk—either directly or by consuming them from a queue as a worker—against filestate selections
|
|
5
5
|
Author-Email: weeger <contact@wexample.com>
|
|
6
6
|
License: MIT
|
|
@@ -10,7 +10,7 @@ Classifier: Operating System :: OS Independent
|
|
|
10
10
|
Requires-Python: >=3.10
|
|
11
11
|
Requires-Dist: wexample-file>=9.2.0
|
|
12
12
|
Requires-Dist: wexample-queue>=2.0.0
|
|
13
|
-
Requires-Dist: wexample-wex-addon-app>=32.
|
|
13
|
+
Requires-Dist: wexample-wex-addon-app>=32.4.0
|
|
14
14
|
Provides-Extra: dev
|
|
15
15
|
Requires-Dist: pytest; extra == "dev"
|
|
16
16
|
Requires-Dist: pytest-cov; extra == "dev"
|
|
@@ -18,7 +18,7 @@ Description-Content-Type: text/markdown
|
|
|
18
18
|
|
|
19
19
|
# wex-addon-process
|
|
20
20
|
|
|
21
|
-
Version: 4.
|
|
21
|
+
Version: 4.1.0
|
|
22
22
|
|
|
23
23
|
`wexample-wex-addon-process` runs the treatments a board declares. A *process* says what to run and on which selection of files; a *run* is one execution of it, asked for by writing a record and picked up by a worker.
|
|
24
24
|
|
|
@@ -366,7 +366,7 @@ Visit the [Wexample Suite documentation](https://docs.wexample.com) for the comp
|
|
|
366
366
|
|
|
367
367
|
- wexample-file: >=9.2.0
|
|
368
368
|
- wexample-queue: >=2.0.0
|
|
369
|
-
- wexample-wex-addon-app: >=32.
|
|
369
|
+
- wexample-wex-addon-app: >=32.4.0
|
|
370
370
|
|
|
371
371
|
## Versioning & Compatibility Policy
|
|
372
372
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# wex-addon-process
|
|
2
2
|
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.1.0
|
|
4
4
|
|
|
5
5
|
`wexample-wex-addon-process` runs the treatments a board declares. A *process* says what to run and on which selection of files; a *run* is one execution of it, asked for by writing a record and picked up by a worker.
|
|
6
6
|
|
|
@@ -348,7 +348,7 @@ Visit the [Wexample Suite documentation](https://docs.wexample.com) for the comp
|
|
|
348
348
|
|
|
349
349
|
- wexample-file: >=9.2.0
|
|
350
350
|
- wexample-queue: >=2.0.0
|
|
351
|
-
- wexample-wex-addon-app: >=32.
|
|
351
|
+
- wexample-wex-addon-app: >=32.4.0
|
|
352
352
|
|
|
353
353
|
## Versioning & Compatibility Policy
|
|
354
354
|
|
|
@@ -6,7 +6,7 @@ build-backend = "pdm.backend"
|
|
|
6
6
|
|
|
7
7
|
[project]
|
|
8
8
|
name = "wexample-wex-addon-process"
|
|
9
|
-
version = "4.
|
|
9
|
+
version = "4.1.0"
|
|
10
10
|
description = "Executes process runs defined on disk—either directly or by consuming them from a queue as a worker—against filestate selections"
|
|
11
11
|
authors = [
|
|
12
12
|
{ name = "weeger", email = "contact@wexample.com" },
|
|
@@ -20,7 +20,7 @@ classifiers = [
|
|
|
20
20
|
dependencies = [
|
|
21
21
|
"wexample-file>=9.2.0",
|
|
22
22
|
"wexample-queue>=2.0.0",
|
|
23
|
-
"wexample-wex-addon-app>=32.
|
|
23
|
+
"wexample-wex-addon-app>=32.4.0",
|
|
24
24
|
]
|
|
25
25
|
|
|
26
26
|
[project.readme]
|
|
@@ -175,20 +175,23 @@ class FileStateOptionProcessType(AbstractProcessType):
|
|
|
175
175
|
files: dict[str, list[dict[str, Any]]] = {}
|
|
176
176
|
|
|
177
177
|
for verdict in verdicts:
|
|
178
|
+
entry: dict[str, Any] = {
|
|
179
|
+
"code": verdict.code,
|
|
180
|
+
"message": verdict.message,
|
|
181
|
+
"parameters": verdict.parameters,
|
|
182
|
+
# Reduced to the operation's name: enough to know a fix exists,
|
|
183
|
+
# and the one a `fix` run would apply.
|
|
184
|
+
"remedy": (
|
|
185
|
+
type(verdict.remedy).get_name() if verdict.remedy else None
|
|
186
|
+
),
|
|
187
|
+
}
|
|
188
|
+
# Where in the file, when the rule knows: absent rather than empty, so
|
|
189
|
+
# a verdict about the whole file reads as it always did.
|
|
190
|
+
if verdict.locations:
|
|
191
|
+
entry["locations"] = verdict.locations
|
|
178
192
|
files.setdefault(
|
|
179
193
|
self._relative(context, verdict.target.get_path()), []
|
|
180
|
-
).append(
|
|
181
|
-
{
|
|
182
|
-
"code": verdict.code,
|
|
183
|
-
"message": verdict.message,
|
|
184
|
-
"parameters": verdict.parameters,
|
|
185
|
-
# Reduced to the operation's name: enough to know a fix exists,
|
|
186
|
-
# and the one a `fix` run would apply.
|
|
187
|
-
"remedy": (
|
|
188
|
-
type(verdict.remedy).get_name() if verdict.remedy else None
|
|
189
|
-
),
|
|
190
|
-
}
|
|
191
|
-
)
|
|
194
|
+
).append(entry)
|
|
192
195
|
|
|
193
196
|
return {
|
|
194
197
|
"checked": len(items),
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from pathlib import Path
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def test_a_text_search_run_names_every_place_the_text_stands(tmp_path: Path) -> None:
|
|
7
|
+
from wexample_prompt.common.io_manager import IoManager
|
|
8
|
+
|
|
9
|
+
from wexample_wex_addon_process.process_type.family.file_state_process_type_family import (
|
|
10
|
+
FileStateProcessTypeFamily,
|
|
11
|
+
)
|
|
12
|
+
from wexample_wex_addon_process.process_type.process_type_registry import (
|
|
13
|
+
ProcessTypeRegistry,
|
|
14
|
+
)
|
|
15
|
+
from wexample_wex_addon_process.process_type.selection import Selection
|
|
16
|
+
from wexample_wex_addon_process.runner.process_runner import ProcessRunner
|
|
17
|
+
|
|
18
|
+
(tmp_path / "docs").mkdir()
|
|
19
|
+
(tmp_path / "docs" / "a.md").write_text("truite\n\nune truite, deux truite\n")
|
|
20
|
+
(tmp_path / "docs" / "b.md").write_text("saumon\n")
|
|
21
|
+
io = IoManager()
|
|
22
|
+
|
|
23
|
+
data = ProcessRunner(
|
|
24
|
+
io=io, registry=ProcessTypeRegistry([FileStateProcessTypeFamily()])
|
|
25
|
+
).run(
|
|
26
|
+
workdir=tmp_path,
|
|
27
|
+
type_name="filestate:should_not_contain",
|
|
28
|
+
selection=Selection(io=io, workdir=tmp_path, patterns=["docs/*.md"]),
|
|
29
|
+
options={"should_not_contain": ["truite"]},
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
[verdict] = data["files"]["docs/a.md"]
|
|
33
|
+
assert [(place["line"], place["column"]) for place in verdict["locations"]] == [
|
|
34
|
+
(1, 1),
|
|
35
|
+
(3, 5),
|
|
36
|
+
(3, 18),
|
|
37
|
+
]
|
|
38
|
+
assert data["passed"] == ["docs/b.md"]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/tests/unit/__init__.py
RENAMED
|
File without changes
|
{wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/tests/unit/test_artifacts.py
RENAMED
|
File without changes
|
{wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/tests/unit/test_long_runs.py
RENAMED
|
File without changes
|
|
File without changes
|
{wexample_wex_addon_process-4.0.0 → wexample_wex_addon_process-4.1.0}/tests/unit/test_selection.py
RENAMED
|
File without changes
|
|
File without changes
|