iens

Manager of links to read
git clone https://git.instinctive.eu/iens.git
Log | Files | Refs | README | LICENSE

commit 80557c827a77f3c72b495db566546e4805676426
parent fd58497eb511d46c7ca99448e238690bff3cae07
Author: Natasha Kerensikova <natgh@instinctive.eu>
Date:   Thu,  6 Aug 2026 16:59:58 +0000

Autodetection of source format
Diffstat:
Msrc/get-gruiks.scm | 21++++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/src/get-gruiks.scm b/src/get-gruiks.scm @@ -158,9 +158,28 @@ (rss:item-title (rss:feed-channel feed))) #f))) +(define (get-auto url) + (let* ((data (get-source read-string url '() '())) + (da (condition-case (with-input-from-string data atom:read) + ((atom) #f))) + (dr (condition-case (with-input-from-string data rss:read) + ((rss) #f)))) + (exec (sql db "UPDATE source_rss SET format=? WHERE url=?;") + (cond (da 1) (dr 2) (else -1)) + url) + (cond + (da (list process-atom + (feed-entries da) + (title-text (feed-title da)))) + (dr (list process-rss + (rss:feed-items dr) + (rss:item-title (rss:feed-channel dr)))) + (else #f)))) + (define (process-source name url format last-modified etag) (condition-case - (let ((data (case format ((1) (get-atom url last-modified etag)) + (let ((data (case format ((0) (get-auto url)) + ((1) (get-atom url last-modified etag)) ((2) (get-rss url last-modified etag)) (else #f)))) (when data