nianeyna/ao3downloader

Extra data: line 1 column 95 (char 94)

RowanSkie opened this issue · 3 comments

{"error": "Extra data: line 1 column 95 (char 94)", "message": "Problem parsing log file during initial setup", "stacktrace": "Traceback (most recent call last):\n  File \"D:\\Applications\\ao3downloader\\ao3downloader\\actions\\shared.py\", line 242, in get_last_page_downloaded\n    logs = fileops.load_logfile()\n  File \"D:\\Applications\\ao3downloader\\ao3downloader\\fileio.py\", line 78, in load_logfile\n    logs.extend(list(objects))\n  File \"D:\\Applications\\ao3downloader\\ao3downloader\\fileio.py\", line 77, in <lambda>\n    objects = map(lambda x: json.loads(x), f.readlines())\n  File \"C:\\PL\\Python39\\lib\\json\\__init__.py\", line 346, in loads\n    return _default_decoder.decode(s)\n  File \"C:\\PL\\Python39\\lib\\json\\decoder.py\", line 340, in decode\n    raise JSONDecodeError(\"Extra data\", s, end)\njson.decoder.JSONDecodeError: Extra data: line 1 column 95 (char 94)\n", "timestamp": "10/01/2024, 17:17:53"}

After downloading my subscriptions, this happened.

Okay, so it turns out, this is what happens when two lines in .jsonl are in the same line.

Can you explain a little more about how this happened? Are you able to reproduce it? (aka, make it happen again on purpose) If you can repro, please list the exact steps you took to make the problem happen. Thanks!

Basically, for this to trigger, I just have to remove the newline.

Something like

log line 1
log line 2

then make it

log line1log line 2