confpub-cli 1.7.3__tar.gz → 1.7.4__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.
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/PKG-INFO +1 -1
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/confpub/__init__.py +1 -1
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/confpub/manifest.py +3 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/confpub/puller.py +8 -1
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/.github/copilot-instructions.md +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/.github/workflows/publish.yml +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/.gitignore +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/CLAUDE.md +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/LICENSE +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/PRD.md +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/README.md +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/confpub/applier.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/confpub/assets.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/confpub/cli.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/confpub/config.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/confpub/confluence.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/confpub/converter.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/confpub/envelope.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/confpub/errors.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/confpub/front_matter.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/confpub/guide.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/confpub/lockfile.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/confpub/macro_plugin.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/confpub/output.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/confpub/planner.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/confpub/publish.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/confpub/py.typed +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/confpub/reverse_converter.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/confpub/validator.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/confpub/verifier.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/confpub.lock +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/pyproject.toml +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/tests/__init__.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/tests/conftest.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/tests/test_applier.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/tests/test_assets.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/tests/test_config.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/tests/test_confluence.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/tests/test_converter.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/tests/test_envelope.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/tests/test_errors.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/tests/test_front_matter.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/tests/test_guide.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/tests/test_integration.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/tests/test_lockfile.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/tests/test_macro_plugin.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/tests/test_manifest.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/tests/test_output.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/tests/test_planner.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/tests/test_publish.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/tests/test_puller.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/tests/test_reverse_converter.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/tests/test_validator.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/tests/test_verifier.py +0 -0
- {confpub_cli-1.7.3 → confpub_cli-1.7.4}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: confpub-cli
|
|
3
|
-
Version: 1.7.
|
|
3
|
+
Version: 1.7.4
|
|
4
4
|
Summary: Agent-first CLI to publish Markdown to Confluence
|
|
5
5
|
Project-URL: Homepage, https://github.com/ThomasRohde/confpub-cli
|
|
6
6
|
Project-URL: Repository, https://github.com/ThomasRohde/confpub-cli.git
|
|
@@ -191,6 +191,9 @@ def generate_manifest_yaml(
|
|
|
191
191
|
result = []
|
|
192
192
|
for p in pages:
|
|
193
193
|
entry: dict[str, Any] = {"title": p["title"], "file": p["file"]}
|
|
194
|
+
assets = p.get("assets", [])
|
|
195
|
+
if assets:
|
|
196
|
+
entry["assets"] = assets
|
|
194
197
|
labels = p.get("labels", [])
|
|
195
198
|
if labels:
|
|
196
199
|
entry["labels"] = labels
|
|
@@ -194,11 +194,13 @@ def _build_page_tree(
|
|
|
194
194
|
root_page_id: str,
|
|
195
195
|
output_dir: str = ".",
|
|
196
196
|
page_labels: dict[str, list[str]] | None = None,
|
|
197
|
+
page_assets: dict[str, list[str]] | None = None,
|
|
197
198
|
) -> list[dict[str, Any]]:
|
|
198
199
|
"""Build a hierarchical page tree for manifest generation."""
|
|
199
200
|
id_to_entry: dict[str, dict[str, Any]] = {}
|
|
200
201
|
children_map: dict[str | None, list[str]] = {}
|
|
201
202
|
labels_map = page_labels or {}
|
|
203
|
+
assets_map = page_assets or {}
|
|
202
204
|
|
|
203
205
|
for entry in pages:
|
|
204
206
|
page = entry["page"]
|
|
@@ -214,6 +216,8 @@ def _build_page_tree(
|
|
|
214
216
|
}
|
|
215
217
|
if labels_map.get(pid):
|
|
216
218
|
node["labels"] = labels_map[pid]
|
|
219
|
+
if assets_map.get(pid):
|
|
220
|
+
node["assets"] = assets_map[pid]
|
|
217
221
|
id_to_entry[pid] = node
|
|
218
222
|
children_map.setdefault(parent_id, []).append(pid)
|
|
219
223
|
|
|
@@ -315,6 +319,7 @@ def pull_pages(
|
|
|
315
319
|
files_result: list[dict[str, Any]] = []
|
|
316
320
|
total_attachments = 0
|
|
317
321
|
pull_warnings: list[str] = []
|
|
322
|
+
pulled_assets: dict[str, list[str]] = {} # page_id -> list of relative asset paths
|
|
318
323
|
|
|
319
324
|
for entry in all_pages:
|
|
320
325
|
page = entry["page"]
|
|
@@ -335,6 +340,8 @@ def pull_pages(
|
|
|
335
340
|
)
|
|
336
341
|
attachments_downloaded = len(attachment_map)
|
|
337
342
|
total_attachments += attachments_downloaded
|
|
343
|
+
if attachment_map:
|
|
344
|
+
pulled_assets[pid] = list(attachment_map.values())
|
|
338
345
|
|
|
339
346
|
# Convert storage format to markdown
|
|
340
347
|
body_storage = page.get("body", {}).get("storage", {}).get("value", "")
|
|
@@ -381,7 +388,7 @@ def pull_pages(
|
|
|
381
388
|
pulled_labels: dict[str, list[str]] = {
|
|
382
389
|
f["page_id"]: f.get("labels", []) for f in files_result
|
|
383
390
|
}
|
|
384
|
-
page_tree = _build_page_tree(all_pages, file_paths, root_id, output_dir, page_labels=pulled_labels)
|
|
391
|
+
page_tree = _build_page_tree(all_pages, file_paths, root_id, output_dir, page_labels=pulled_labels, page_assets=pulled_assets)
|
|
385
392
|
manifest_yaml = generate_manifest_yaml(root_space, manifest_parent, page_tree)
|
|
386
393
|
manifest_path = os.path.join(output_dir, "confpub.yaml")
|
|
387
394
|
Path(manifest_path).write_text(manifest_yaml, encoding="utf-8")
|
|
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
|
|
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
|