zim-wiki team mailing list archive
Mailing list archive
Files with 1st line like "abc: def" cause stacktrace
First off, I depend on the ability to import large numbers of regular
*.txt files into zim-wiki. In general there are few if any issues. I'm
not aware of any import/conversion process, and simply copy files into a
subdirectory of ~/Notebooks.
So a key question is what if any guidelines do we have on importing
general text files to zim. A distinctive suffix (e.g. .data) might be a
reasonable approach. As it is, I think files in the zim notebook
hierarchy that aren't directories and don't end in .txt are ignored.
The one issue I discovered long ago is that any *.txt file with a first
line like "abc: def" causes export to crash. lines like:
"abc: def hij"
don't seem to cause a crash. It you just try to open such a file, a stack
trace and warning appear, but zim does not crash.
Notes I made while tracking down the origin of the crash
In zim/formats/__init__.py parse_header_lines(), line 1769 is where the
exception occurs. The two words (abc: def.) seem to be treated 'header'
and 'value'. It may be due to uneasy coexistence of files created in the
notebook and regular files imported into it.
This is the typical stack trace from a crash in export.
File "/opt/zim-0.68/zim/main/__init__.py", line 850, in main
File "/opt/zim-0.68/zim/main/__init__.py", line 631, in run
self._run_cmd(cmd, args) # test seam
File "/opt/zim-0.68/zim/main/__init__.py", line 663, in _run_cmd
File "/opt/zim-0.68/zim/main/__init__.py", line 455, in run
File "/opt/zim-0.68/zim/export/exporters/__init__.py", line 24, in
for p in self.export_iter(pages):
File "/opt/zim-0.68/zim/export/exporters/files.py", line 103, in
self.export_page(pages.notebook, page, pages, prevpage=prev,
File "/opt/zim-0.68/zim/export/exporters/files.py", line 139, in
File "/opt/zim-0.68/zim/notebook/page.py", line 712, in get_title
tree = self.get_parsetree()
File "/opt/zim-0.68/zim/notebook/page.py", line 562, in get_parsetree
self._parsetree = parser.parse(text)
File "/opt/zim-0.68/zim/formats/wiki.py", line 464, in parse
File "/opt/zim-0.68/zim/formats/wiki.py", line 88, in __call__
File "/opt/zim-0.68/zim/parser.py", line 399, in __call__
assert text, 'BUG: processing empty string'
AssertionError: BUG: processing empty string