Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
dd03ad8
Add ids argument to pytest.mark.parametrize
tomschr Nov 12, 2025
b8a0d7f
Temporary rename test file due to problems
tomschr Nov 12, 2025
57cf7c2
Implement & test a function for "git clone"
tomschr Nov 13, 2025
7c7eeab
Integrate clone_from_repo
tomschr Nov 13, 2025
8149def
Snapshot
tomschr Nov 17, 2025
b333998
Implement --exitfirst
tomschr Nov 17, 2025
23db3a5
Snapshot
tomschr Nov 19, 2025
4f893a0
Fix test cases
tomschr Nov 19, 2025
ef7e91a
Snapshot
tomschr Nov 19, 2025
454237d
Snapshot 2
tomschr Nov 25, 2025
91f93ba
Disable all prints without logging
tomschr Nov 25, 2025
8362a76
Rework log_memory_usage, remove dep to psutils
tomschr Nov 27, 2025
da57719
Use ManagedGitRepo
tomschr Nov 27, 2025
7893818
Update docstring for ManagedGitRepo.clone_bare
tomschr Nov 27, 2025
efbe523
permanent_root -> rootdir, improve docstring
tomschr Nov 28, 2025
c0b2879
Repo: Use pattern to match "^(https?)://"
tomschr Nov 28, 2025
c922853
Add full daps command in RuntimeError
tomschr Nov 28, 2025
e3829b6
Use "git fetch origin main:main"
tomschr Nov 28, 2025
1153603
Fix tests
tomschr Nov 28, 2025
6e94181
Attempt to use ManagedGitRepo
tomschr Nov 28, 2025
00dffb2
Rework update of a bare repo
tomschr Dec 8, 2025
ba233eb
Fix test
tomschr Dec 8, 2025
aae5aac
Skip test_success
tomschr Dec 8, 2025
9fae941
Use .model_dump(mode='json') to create a real dict
tomschr Dec 8, 2025
df286d1
get_deliverable_from_doctype: remove context
tomschr Dec 10, 2025
5348ae8
Fix typo
tomschr Dec 10, 2025
169853b
Correct mocked get_deliverable_from_doctype
tomschr Dec 10, 2025
7ee644d
Rename to original (accidently renamed)
tomschr Dec 10, 2025
cded5f7
First attempt to modify JSON with edit_json
tomschr Dec 10, 2025
50557a5
Update the JSON metadata for the format fields
tomschr Dec 10, 2025
2750a10
Introduce collecting JSON files into one
tomschr Dec 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/docbuild/cli/cmd_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ def cli(
try:
# Pydantic validation handles placeholder replacement via @model_validator
# The result is the validated Pydantic object, stored in context.envconfig
context.envconfig = EnvConfig.from_dict(raw_envconfig)
context.envconfig = EnvConfig.from_dict(raw_envconfig).model_dump(mode='json')
except (ValueError, ValidationError) as e:
log.error(
"Environment configuration failed validation: "
Expand Down
15 changes: 12 additions & 3 deletions src/docbuild/cli/cmd_metadata/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@
from .metaprocess import process

# Set up rich consoles for output
console_out = Console()
stdout = Console()
console_err = Console(stderr=True, style='red')


@click.command(help=__doc__)
Expand All @@ -22,10 +23,18 @@
nargs=-1,
callback=validate_doctypes,
)
@click.option(
'--exitfirst',
is_flag=True,
default=False,
show_default=True,
help='Exit on first failed deliverable.',
)
@click.pass_context
def metadata(
ctx: click.Context,
doctypes: tuple[Doctype],
exitfirst: bool,
) -> None:
"""Subcommand to create metadata files.

Expand All @@ -44,9 +53,9 @@ def metadata(
t = None
try:
with timer() as t:
result = asyncio.run(process(context, doctypes))
result = asyncio.run(process(context, doctypes, exitfirst=exitfirst))
finally:
if t and not math.isnan(t.elapsed):
console_out.print(f'Elapsed time {t.elapsed:0.2f}s')
stdout.print(f'Elapsed time {t.elapsed:0.2f}s')

ctx.exit(result)
Loading
Loading