Add ancestor headings of each org-mode entry to their compiled form

Resolves #85
This commit is contained in:
Debanjum Singh Solanky
2023-11-16 01:08:51 -08:00
parent 305c25ae1a
commit 74403e3536
2 changed files with 8 additions and 6 deletions

View File

@@ -100,12 +100,13 @@ class OrgToEntries(TextToEntries):
continue
todo_str = f"{parsed_entry.todo} " if parsed_entry.todo else ""
# Prepend filename as top heading to entry
filename = Path(entry_to_file_map[parsed_entry]).stem
# Prepend ancestor headings, filename as top heading to entry for context
ancestors_trail = " / ".join(parsed_entry.ancestors) or Path(entry_to_file_map[parsed_entry])
if parsed_entry.heading:
heading = f"* {filename}\n** {todo_str}{parsed_entry.heading}."
heading = f"* Path: {ancestors_trail}\n** {todo_str}{parsed_entry.heading}."
else:
heading = f"* {filename}."
heading = f"* Path: {ancestors_trail}."
compiled = heading
if state.verbose > 2:

View File

@@ -45,9 +45,10 @@ def test_configure_heading_entry_to_jsonl(tmp_path):
assert is_none_or_empty(jsonl_data)
def test_entry_split_when_exceeds_max_words(tmp_path):
def test_entry_split_when_exceeds_max_words():
"Ensure entries with compiled words exceeding max_words are split."
# Arrange
tmp_path = "/tmp/test.org"
entry = f"""*** Heading
\t\r
Body Line
@@ -55,7 +56,7 @@ def test_entry_split_when_exceeds_max_words(tmp_path):
data = {
f"{tmp_path}": entry,
}
expected_heading = f"* {tmp_path.stem}\n** Heading"
expected_heading = f"* Path: {tmp_path}\n** Heading"
# Act
# Extract Entries from specified Org files