From 565a2aee3cd557909d171ddea27a97b96e72c8fe Mon Sep 17 00:00:00 2001 From: eltrac Date: Thu, 5 Mar 2026 17:20:43 +0800 Subject: feat: UNFINISHED handle Webmention editing, deleting and appending the storage part was unfinished and unserviceable. --- src/weepinbell/processor.clj | 20 +++++++++++++++----- src/weepinbell/storage.clj | 34 ++++++++++++++++++++++++++-------- 2 files changed, 41 insertions(+), 13 deletions(-) diff --git a/src/weepinbell/processor.clj b/src/weepinbell/processor.clj index 33d3900..c8a4f73 100644 --- a/src/weepinbell/processor.clj +++ b/src/weepinbell/processor.clj @@ -32,7 +32,7 @@ :wm-target target :wm-id nil}) -(defn process-verified-webmention +(defn process-new-webmention "If a webmention is verified, fetch microformats data and store it." [source target] ;; log @@ -43,6 +43,14 @@ (let [data (wrap-webmention source target)] (storage/append data))) +(defn process-existing-webmention + "Update existing Webmention when verified, delete it otherwise." + [verified? source target] + (if verified? + (storage/update-wm source target + (wrap-webmention source target)) + (storage/delete-wm source target))) + (defn process-webmention "Retrieve webmention from queue and process it." [wmc] @@ -50,10 +58,12 @@ (go-loop [] (when-let [wm (> data - (remove pred) - vec - unload-data))) + (with-this-wm source target + (fn [this-wm] + (->> (load-data) + (remove #(= this-wm %)) + vec + unload-data)))) -- cgit v1.2.3