Closed
Description
In the throw
function, the raise BlurbError(f("Error in {filename}:{line_number}:\n{s}"))
can't find the filename variable leading to:
Traceback (most recent call last):
File "/home/mdk/clones/core-workflow/blurb/blurb.py", line 1691, in <module>
main()
File "/home/mdk/clones/core-workflow/blurb/blurb.py", line 1651, in main
sys.exit(fn(*filtered_args, **kwargs))
File "/home/mdk/clones/core-workflow/blurb/blurb.py", line 954, in add
blurb.load(tmp_path)
File "/home/mdk/clones/core-workflow/blurb/blurb.py", line 553, in load
self.parse(text, metadata=metadata, filename=filename)
File "/home/mdk/clones/core-workflow/blurb/blurb.py", line 543, in parse
finish_entry()
File "/home/mdk/clones/core-workflow/blurb/blurb.py", line 495, in finish_entry
throw("Blurb 'body' text must not be empty!")
File "/home/mdk/clones/core-workflow/blurb/blurb.py", line 486, in throw
raise BlurbError(f("Error in {filename}:{line_number}:\n{s}"))
File "/home/mdk/clones/core-workflow/blurb/blurb.py", line 138, in f
return s.format_map(d)
KeyError: 'filename'
To reproduce it: invoke blurb, empty the buffer, and close the editor.
I don't think we should try to fix def f
, maybe simple add nonlocal filename
and nonlocal file_number
so they become visible in the function locals.
Metadata
Metadata
Assignees
Labels
No labels