2024-11-17 16:09:11 +00:00
|
|
|
import datetime
|
|
|
|
from pathlib import Path
|
|
|
|
|
|
|
|
from obsidian_import import obsidian
|
|
|
|
|
|
|
|
EXAMPLES = [
|
|
|
|
obsidian.Event(
|
|
|
|
datetime.time(12, 0, 0),
|
|
|
|
datetime.time(12, 0, 0),
|
|
|
|
'Ate',
|
|
|
|
'Lunch',
|
|
|
|
'instantly',
|
|
|
|
),
|
|
|
|
obsidian.Event(
|
|
|
|
datetime.time(20, 0, 0),
|
|
|
|
datetime.time(22, 0, 0),
|
|
|
|
'Watched',
|
|
|
|
'Tom and Jerry',
|
|
|
|
'on the *Television*',
|
|
|
|
),
|
|
|
|
obsidian.Event(None, None, None, None, 'Took a walk'),
|
|
|
|
obsidian.Event(None, None, None, None, 'Watched [[Cyberpunk: Edgerunners]].'),
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
def test_write_internally():
|
2024-11-17 16:09:41 +00:00
|
|
|
vault = obsidian.ObsidianVault(
|
|
|
|
Path('test'),
|
|
|
|
read_only=True,
|
|
|
|
allow_invalid_vault=True,
|
|
|
|
)
|
2024-11-17 16:09:11 +00:00
|
|
|
vault.daily_folder = Path('daily')
|
|
|
|
vault.path_format = 'YYYY-MM-DD'
|
|
|
|
vault.template_file_path = Path('daily-template-file.md')
|
|
|
|
|
2024-11-17 16:09:41 +00:00
|
|
|
vault.add_events(datetime.date(2020, 1, 1), EXAMPLES)
|
2024-11-17 16:09:11 +00:00
|
|
|
assert len(vault.internal_file_text_cache) == 2
|
|
|
|
|
2024-11-17 16:09:41 +00:00
|
|
|
assert vault.internal_file_text_cache[
|
|
|
|
Path('test/daily-template-file.md')
|
|
|
|
].data.startswith(b'---\n')
|
2024-11-17 16:09:11 +00:00
|
|
|
|
|
|
|
expected_path = Path('test/daily/2020-01-01.md')
|
|
|
|
assert expected_path in vault.internal_file_text_cache
|
|
|
|
|
2024-11-17 16:12:58 +00:00
|
|
|
assert vault.internal_file_text_cache[expected_path].data.startswith(b'---\naliases:\n')
|