From 47714ac590c7bd4b02f8195c66861fb47afc3ba2 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Fri, 8 Mar 2024 07:57:08 +0100 Subject: [PATCH] fix wrong dates in one feed --- src/librssguard/miscellaneous/textfactory.cpp | 11 ++++++----- .../services/standard/parsers/rssparser.cpp | 4 ++++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/librssguard/miscellaneous/textfactory.cpp b/src/librssguard/miscellaneous/textfactory.cpp index 6c2d35cd9..7124bd699 100644 --- a/src/librssguard/miscellaneous/textfactory.cpp +++ b/src/librssguard/miscellaneous/textfactory.cpp @@ -141,11 +141,12 @@ QDateTime TextFactory::parseDateTime(qint64 milis_from_epoch) { QStringList TextFactory::dateTimePatterns() { return QStringList() << QSL("yyyy-MM-ddTHH:mm:ss") << QSL("MMM dd yyyy hh:mm:ss") << QSL("MMM d yyyy hh:mm:ss") - << QSL("ddd, dd MMM yyyy HH:mm:ss") << QSL("ddd, d MMM yyyy HH:mm:ss") - << QSL("dd MMM yyyy hh:mm:ss") << QSL("dd MMM yyyy") << QSL("yyyy-MM-dd HH:mm:ss.z") - << QSL("yyyy-MM-dd") << QSL("yyyy") << QSL("yyyy-MM") << QSL("yyyy-MM-dd") - << QSL("yyyy-MM-ddThh:mm") << QSL("yyyy-MM-ddThh:mm:ss") << QSL("d MMM yyyy HH:mm:ss") - << QSL("hh:mm:ss") << QSL("h:m:s AP") << QSL("h:mm") << QSL("H:mm") << QSL("h:m") << QSL("h.m"); + << QSL("ddd, dd MMM yyyy HH:mm:ss") << QSL("ddd, dd MMM yyyy HH:mm") + << QSL("ddd, d MMM yyyy HH:mm:ss") << QSL("dd MMM yyyy hh:mm:ss") << QSL("dd MMM yyyy") + << QSL("yyyy-MM-dd HH:mm:ss.z") << QSL("yyyy-MM-dd") << QSL("yyyy") << QSL("yyyy-MM") + << QSL("yyyy-MM-dd") << QSL("yyyy-MM-ddThh:mm") << QSL("yyyy-MM-ddThh:mm:ss") + << QSL("d MMM yyyy HH:mm:ss") << QSL("hh:mm:ss") << QSL("h:m:s AP") << QSL("h:mm") << QSL("H:mm") + << QSL("h:m") << QSL("h.m"); } QString TextFactory::encrypt(const QString& text, quint64 key) { diff --git a/src/librssguard/services/standard/parsers/rssparser.cpp b/src/librssguard/services/standard/parsers/rssparser.cpp index 4a2c6bb51..e9649835c 100644 --- a/src/librssguard/services/standard/parsers/rssparser.cpp +++ b/src/librssguard/services/standard/parsers/rssparser.cpp @@ -283,6 +283,10 @@ QDateTime RssParser::xmlMessageDateCreated(const QDomElement& msg_element) const date_created = TextFactory::parseDateTime(msg_element.namedItem(QSL("date")).toElement().text()); } + if (date_created.isNull()) { + date_created = TextFactory::parseDateTime(msg_element.namedItem(QSL("dc:modified")).toElement().text()); + } + return date_created; }