fix set_tiddler_values to work with missing files and meta files
This commit is contained in:
parent
a2ff251e74
commit
ea02c1bd5a
@ -444,11 +444,20 @@ def set_tiddler_values(mappings: Dict[str, str]) -> None:
|
|||||||
|
|
||||||
for tiddler, new_text in mappings.items():
|
for tiddler, new_text in mappings.items():
|
||||||
tiddler_path = (Path(build_state['public_wiki_folder']) / "tiddlers" / tiddler)
|
tiddler_path = (Path(build_state['public_wiki_folder']) / "tiddlers" / tiddler)
|
||||||
with tiddler_path.open("r") as f:
|
try:
|
||||||
tiddler_lines = f.readlines()
|
with tiddler_path.open("r") as f:
|
||||||
first_blank_line_index = next(idx
|
tiddler_lines = f.readlines()
|
||||||
for idx, value in enumerate(tiddler_lines)
|
except FileNotFoundError:
|
||||||
if not value.strip())
|
stop(f"File {tiddler_path} not found. "
|
||||||
|
f"(Did you forget to end the name with '.tid'?)")
|
||||||
|
|
||||||
|
if not str(tiddler_path).endswith('.tid'):
|
||||||
|
# will be a separate meta file, so the whole thing is the text field
|
||||||
|
first_blank_line_index = 0
|
||||||
|
else:
|
||||||
|
first_blank_line_index = next(idx
|
||||||
|
for idx, value in enumerate(tiddler_lines)
|
||||||
|
if not value.strip())
|
||||||
with tiddler_path.open("w") as f:
|
with tiddler_path.open("w") as f:
|
||||||
f.writelines(tiddler_lines[0:first_blank_line_index+1])
|
f.writelines(tiddler_lines[0:first_blank_line_index+1])
|
||||||
f.write(new_text)
|
f.write(new_text)
|
||||||
|
Loading…
Reference in New Issue
Block a user