aboutsummaryrefslogtreecommitdiffhomepage
path: root/reader/rdf/rdf.go
diff options
context:
space:
mode:
Diffstat (limited to 'reader/rdf/rdf.go')
-rw-r--r--reader/rdf/rdf.go19
1 files changed, 18 insertions, 1 deletions
diff --git a/reader/rdf/rdf.go b/reader/rdf/rdf.go
index d9f3403..44ff0af 100644
--- a/reader/rdf/rdf.go
+++ b/reader/rdf/rdf.go
@@ -10,7 +10,9 @@ import (
"time"
"github.com/miniflux/miniflux/crypto"
+ "github.com/miniflux/miniflux/logger"
"github.com/miniflux/miniflux/model"
+ "github.com/miniflux/miniflux/reader/date"
"github.com/miniflux/miniflux/reader/sanitizer"
"github.com/miniflux/miniflux/url"
)
@@ -54,6 +56,7 @@ type rdfItem struct {
Link string `xml:"link"`
Description string `xml:"description"`
Creator string `xml:"creator"`
+ Date string `xml:"date"`
}
func (r *rdfItem) Transform() *model.Entry {
@@ -63,10 +66,24 @@ func (r *rdfItem) Transform() *model.Entry {
entry.URL = r.Link
entry.Content = r.Description
entry.Hash = getHash(r)
- entry.Date = time.Now()
+ entry.Date = getDate(r)
return entry
}
+func getDate(r *rdfItem) time.Time {
+ if r.Date != "" {
+ result, err := date.Parse(r.Date)
+ if err != nil {
+ logger.Error("rdf: %v", err)
+ return time.Now()
+ }
+
+ return result
+ }
+
+ return time.Now()
+}
+
func getHash(r *rdfItem) string {
value := r.Link
if value == "" {