mirror of
https://github.com/lllin000/PaperForge.git
synced 2026-07-22 06:50:53 +00:00
fix(25-03): use double-quote YAML wrapping for lifecycle filter values
- Filters now contain single-quoted lifecycle values (e.g. lifecycle = 'fulltext_ready') which broke single-quote YAML wrapping; switched to double-quote wrapper - Updated _render_views_section(), merge_base_views(), _build_base_yaml() - Updated filter preservation test to use lifecycle-based filter strings
This commit is contained in:
parent
9dc90b7a3b
commit
157fc4d0ff
2 changed files with 9 additions and 8 deletions
|
|
@ -178,7 +178,7 @@ def _render_views_section(views: list[dict]) -> str:
|
|||
for col in v["order"]:
|
||||
lines.append(f" - {col}")
|
||||
if v["filter"]:
|
||||
lines.append(f" filter: '{v['filter']}'")
|
||||
lines.append(f' filter: "{v["filter"]}"')
|
||||
if v.get("sort"):
|
||||
lines.append(" sort:")
|
||||
for sort_item in v["sort"]:
|
||||
|
|
@ -269,7 +269,7 @@ views:
|
|||
for col in v["order"]:
|
||||
rendered += f" - {col}\n"
|
||||
if v["filter"]:
|
||||
rendered += f" filter: '{v['filter']}'\n"
|
||||
rendered += f' filter: "{v["filter"]}"\n'
|
||||
else:
|
||||
rendered += "\n"
|
||||
if v.get("sort"):
|
||||
|
|
@ -350,7 +350,7 @@ def _build_base_yaml(folder_filter: str, views: list[dict]) -> str:
|
|||
for col in v["order"]:
|
||||
views_yaml += f" - {col}\n"
|
||||
if v["filter"]:
|
||||
views_yaml += f" filter: '{v['filter']}'\n"
|
||||
views_yaml += f' filter: "{v["filter"]}"\n'
|
||||
else:
|
||||
views_yaml += "\n"
|
||||
if v.get("sort"):
|
||||
|
|
|
|||
|
|
@ -110,16 +110,17 @@ class TestIncrementalMerge:
|
|||
ensure_base_views(self.vault, self.paths, self.config, force=False)
|
||||
content1 = domain_base.read_text(encoding="utf-8")
|
||||
|
||||
modified = content1.replace(
|
||||
"filter: 'ocr_status = \"done\"'", "filter: 'ocr_status = \"done\" AND has_pdf = true'"
|
||||
)
|
||||
ocr_done_filter_old = "lifecycle = 'fulltext_ready' OR lifecycle = 'deep_read_done' OR lifecycle = 'ai_context_ready'"
|
||||
ocr_done_filter_modified = "lifecycle = 'fulltext_ready' AND extra_check = true"
|
||||
|
||||
modified = content1.replace(ocr_done_filter_old, ocr_done_filter_modified)
|
||||
domain_base.write_text(modified, encoding="utf-8")
|
||||
|
||||
ensure_base_views(self.vault, self.paths, self.config, force=False)
|
||||
refreshed = domain_base.read_text(encoding="utf-8")
|
||||
|
||||
assert "filter: 'ocr_status = \"done\"'" in refreshed
|
||||
assert "has_pdf = true" not in refreshed
|
||||
assert ocr_done_filter_old in refreshed
|
||||
assert ocr_done_filter_modified not in refreshed
|
||||
|
||||
def test_new_domain_base_is_created_on_first_run(self):
|
||||
"""First run creates domain base if none exists."""
|
||||
|
|
|
|||
Loading…
Reference in a new issue