From 5e47e055a2f52cd84ecc697b6929c8fe8b9fe75a Mon Sep 17 00:00:00 2001 From: zkksdk <126943091+zkksdk@users.noreply.github.com> Date: Sat, 18 Apr 2026 00:25:10 +0800 Subject: [PATCH] fix: skip URL entries in save_text_as_source to prevent Path() errors When raw_text contains URLs (e.g. from wallabag_atom parser), split() breaks them into fragments that Path() tries to read as local files. This causes spurious "No such file" errors and random paths to be accessed. Skip entries that look like URLs before checking Path.exists(). Fixes #1000 --- archivebox/parsers/__init__.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/archivebox/parsers/__init__.py b/archivebox/parsers/__init__.py index c6f2f382..a7c9a570 100644 --- a/archivebox/parsers/__init__.py +++ b/archivebox/parsers/__init__.py @@ -155,6 +155,9 @@ def save_text_as_source(raw_text: str, filename: str='{ts}-stdin.txt', out_dir: referenced_texts = '' for entry in raw_text.split(): + # Skip URLs - Path() can't handle them and they aren't local files + if any(entry.startswith(s) for s in ('http://', 'https://', 'ftp://')): + continue try: if Path(entry).exists(): referenced_texts += Path(entry).read_text()