Skip to content

Commit 13c6df6

Browse files
committed
fix: restrict duplicate check to Clippings directory and use fixed strings
1 parent 88fdff6 commit 13c6df6

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

src/hermes_clipper/main.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -336,10 +336,15 @@ def sanitize_filename(title):
336336

337337
def check_duplicate(url, vault):
338338
if not url or not vault: return None
339+
clippings_dir = os.path.join(vault, "Clippings")
340+
if not os.path.exists(clippings_dir):
341+
return None
339342
try:
340343
patterns = [f"source: {url}", f'source: "{url}"']
341344
for pattern in patterns:
342-
cmd = ["grep", "-rl", pattern, vault]
345+
# Use fixed strings (-F) for URL search to avoid regex issues
346+
# Only search within Clippings directory to avoid false positives
347+
cmd = ["grep", "-rlF", pattern, clippings_dir]
343348
result = subprocess.run(cmd, capture_output=True, text=True)
344349
if result.returncode == 0 and result.stdout.strip():
345350
return result.stdout.splitlines()[0]

0 commit comments

Comments
 (0)