Hello community,

here is the log from the commit of package kitinerary for openSUSE:Factory 
checked in at 2019-10-14 13:27:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kitinerary (Old)
 and      /work/SRC/openSUSE:Factory/.kitinerary.new.2352 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kitinerary"

Mon Oct 14 13:27:47 2019 rev:15 rq:737768 version:19.08.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/kitinerary/kitinerary.changes    2019-09-09 
12:24:51.289868691 +0200
+++ /work/SRC/openSUSE:Factory/.kitinerary.new.2352/kitinerary.changes  
2019-10-14 13:27:49.451536350 +0200
@@ -1,0 +2,14 @@
+Fri Oct 11 07:42:51 UTC 2019 - Luca Beltrame <[email protected]>
+
+- Update to 19.08.2
+  * New bugfix release
+  * For more details please see:
+  * https://www.kde.org/announcements/announce-applications-19.08.2.php
+- Changes since 19.08.1:
+  * Fix UTC conversion during date/time parsing
+  * Add another date format fallback for a new Lufthansa date format
+  * Add unit test for JSON-LD date/time parsing
+  * Fix date parsing in SNCF confirmation emails
+  * QLatin1Literal => QLatin1String to fix compilation with Qt 5.14
+
+-------------------------------------------------------------------

Old:
----
  kitinerary-19.08.1.tar.xz
  kitinerary-19.08.1.tar.xz.sig

New:
----
  kitinerary-19.08.2.tar.xz
  kitinerary-19.08.2.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kitinerary.spec ++++++
--- /var/tmp/diff_new_pack.vywS5U/_old  2019-10-14 13:27:50.455533734 +0200
+++ /var/tmp/diff_new_pack.vywS5U/_new  2019-10-14 13:27:50.455533734 +0200
@@ -18,7 +18,7 @@
 
 %bcond_without lang
 Name:           kitinerary
-Version:        19.08.1
+Version:        19.08.2
 Release:        0
 Summary:        Data model and extraction system for travel reservations
 License:        LGPL-2.1-or-later


++++++ kitinerary-19.08.1.tar.xz -> kitinerary-19.08.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.08.1/CMakeLists.txt 
new/kitinerary-19.08.2/CMakeLists.txt
--- old/kitinerary-19.08.1/CMakeLists.txt       2019-09-03 03:50:49.000000000 
+0200
+++ new/kitinerary-19.08.2/CMakeLists.txt       2019-10-08 02:30:45.000000000 
+0200
@@ -1,5 +1,5 @@
 cmake_minimum_required(VERSION 3.5)
-set(PIM_VERSION "5.12.1")
+set(PIM_VERSION "5.12.2")
 project(KItinerary VERSION ${PIM_VERSION})
 
 set(CMAKE_CXX_STANDARD 14)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.08.1/autotests/jsonlddocumenttest.cpp 
new/kitinerary-19.08.2/autotests/jsonlddocumenttest.cpp
--- old/kitinerary-19.08.1/autotests/jsonlddocumenttest.cpp     2019-08-30 
09:27:33.000000000 +0200
+++ new/kitinerary-19.08.2/autotests/jsonlddocumenttest.cpp     2019-09-30 
07:37:37.000000000 +0200
@@ -43,7 +43,7 @@
 private Q_SLOTS:
     void initTestCase()
     {
-        qputenv("TZ", "GMT");
+        qputenv("TZ", "America/Chicago");
     }
 
     void testSerialization()
@@ -382,6 +382,33 @@
         QCOMPARE(f1.airline().iataCode(), QLatin1String("AB"));
         QCOMPARE(f1.airline().name(), QLatin1String("Air Berlin"));
     }
+
+    void testDateTimeParsing_data()
+    {
+        QTest::addColumn<QByteArray>("dtStr");
+        QTest::addColumn<QDateTime>("result");
+
+        QTest::newRow("iso") << QByteArray("2018-08-15T22:00:00+02:00") << 
QDateTime({2018, 8, 15}, {22 ,00}, Qt::OffsetFromUTC, 7200);
+        QTest::newRow("weird LH format") << QByteArray("20200826T200000Z") << 
QDateTime({2020, 8, 26}, {20 ,00}, Qt::UTC);
+    }
+
+    void testDateTimeParsing()
+    {
+        QFETCH(QByteArray, dtStr);
+        QFETCH(QDateTime, result);
+
+        const auto b = QByteArray("[{"
+            "\"@context\": \"http://schema.org\",";
+            "\"@type\": \"Flight\","
+            "\"departureTime\": \"" + dtStr + "\""
+        "}]");
+        const auto array = QJsonDocument::fromJson(b).array();
+        const auto data = JsonLdDocument::fromJson(array);
+        QCOMPARE(data.size(), 1);
+        const auto flight = data[0].value<Flight>();
+        QCOMPARE(flight.departureTime(), result);
+        QCOMPARE(flight.departureTime().timeSpec(), result.timeSpec());
+    }
 };
 
 QTEST_APPLESS_MAIN(JsonLdDocumentTest)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.08.1/po/cs/kitinerary.po 
new/kitinerary-19.08.2/po/cs/kitinerary.po
--- old/kitinerary-19.08.1/po/cs/kitinerary.po  2019-09-03 03:50:49.000000000 
+0200
+++ new/kitinerary-19.08.2/po/cs/kitinerary.po  2019-10-08 02:30:34.000000000 
+0200
@@ -1,10 +1,10 @@
-# Vit Pelcak <[email protected]>, 2017, 2018.
+# Vit Pelcak <[email protected]>, 2017, 2018, 2019.
 msgid ""
 msgstr ""
 "Project-Id-Version: desktop files\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2019-08-30 07:48+0200\n"
-"PO-Revision-Date: 2018-08-30 16:51+0100\n"
+"PO-Revision-Date: 2019-09-10 11:33+0200\n"
 "Last-Translator: Vit Pelcak <[email protected]>\n"
 "Language-Team: Czech <[email protected]>\n"
 "Language: cs\n"
@@ -12,7 +12,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-"X-Generator: Lokalize 2.0\n"
+"X-Generator: Lokalize 19.08.0\n"
 
 #: calendarhandler.cpp:179
 #, kde-format
@@ -58,7 +58,7 @@
 #: calendarhandler.cpp:240
 #, kde-format
 msgid "Train %1 from %2 to %3"
-msgstr ""
+msgstr "Vlak %1 z %2 do %3"
 
 #: calendarhandler.cpp:249
 #, kde-format
@@ -106,7 +106,7 @@
 #: calendarhandler.cpp:389
 #, kde-format
 msgid "Number Of People: %1"
-msgstr ""
+msgstr "Počet lidí: %1"
 
 #: calendarhandler.cpp:392
 #, kde-format
@@ -116,7 +116,7 @@
 #: calendarhandler.cpp:396
 #, kde-format
 msgid "Under name: %1"
-msgstr ""
+msgstr "Na jméno: %1"
 
 #: calendarhandler.cpp:406
 #, kde-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.08.1/po/zh_CN/kitinerary.po 
new/kitinerary-19.08.2/po/zh_CN/kitinerary.po
--- old/kitinerary-19.08.1/po/zh_CN/kitinerary.po       2019-09-03 
03:50:49.000000000 +0200
+++ new/kitinerary-19.08.2/po/zh_CN/kitinerary.po       2019-10-08 
02:30:45.000000000 +0200
@@ -8,7 +8,7 @@
 "Project-Id-Version: kdeorg\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2019-08-30 07:48+0200\n"
-"PO-Revision-Date: 2019-08-16 17:08\n"
+"PO-Revision-Date: 2019-09-05 09:51\n"
 "Last-Translator: Guo Yunhe (guoyunhe)\n"
 "Language-Team: Chinese Simplified\n"
 "Language: zh_CN\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kitinerary-19.08.1/src/cli/org.kde.kitinerary-extractor.appdata.xml 
new/kitinerary-19.08.2/src/cli/org.kde.kitinerary-extractor.appdata.xml
--- old/kitinerary-19.08.1/src/cli/org.kde.kitinerary-extractor.appdata.xml     
2019-08-30 09:27:33.000000000 +0200
+++ new/kitinerary-19.08.2/src/cli/org.kde.kitinerary-extractor.appdata.xml     
2019-09-30 07:37:37.000000000 +0200
@@ -47,7 +47,7 @@
     <p xml:lang="es">Extractor de línea de órdenes para datos de itinerario. 
para integración en aplicaciones de terceros.</p>
     <p xml:lang="fi">Komentorivijäsennin varaustiedoille kolmannen osapuolen 
sovelluksia varten.</p>
     <p xml:lang="fr">Extracteur en ligne de commande pour les données 
d'itinéraires, afin de les intégrer à des applications tierces.</p>
-    <p xml:lang="gl">Extractor de liña de ordes de datos de itinerarios, para 
integrar con aplicativos de terceiros.</p>
+    <p xml:lang="gl">Extractor de liña de ordes de datos de itinerarios, para 
integrar con aplicacións de terceiros.</p>
     <p xml:lang="id">Pengekstrak baris data untuk data rencana perjalanan, 
untuk pengintegrasian ke dalam aplikasi pihak ketiga.</p>
     <p xml:lang="it">Estrattore a riga di comando per dati di itinerari, per 
l'integrazione con applicazioni di terze parti.</p>
     <p xml:lang="nl">Extractor van reisgegevens op de opdrachtregel, voor 
integratie in toepassingen van derden.</p>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.08.1/src/datatypes/ticket.cpp 
new/kitinerary-19.08.2/src/datatypes/ticket.cpp
--- old/kitinerary-19.08.1/src/datatypes/ticket.cpp     2019-08-30 
09:27:33.000000000 +0200
+++ new/kitinerary-19.08.2/src/datatypes/ticket.cpp     2019-09-30 
07:37:37.000000000 +0200
@@ -54,7 +54,7 @@
 
 Ticket::TicketTokenType Ticket::ticketTokenType() const
 {
-    if (d->ticketToken.startsWith(QLatin1Literal("qrcode:"), 
Qt::CaseInsensitive)) {
+    if (d->ticketToken.startsWith(QLatin1String("qrcode:"), 
Qt::CaseInsensitive)) {
         return QRCode;
     } else if (d->ticketToken.startsWith(QLatin1String("aztec"), 
Qt::CaseInsensitive)) {
         return AztecCode;
@@ -68,7 +68,7 @@
 
 QString Ticket::ticketTokenData() const
 {
-    if (d->ticketToken.startsWith(QLatin1Literal("qrcode:"), 
Qt::CaseInsensitive)) {
+    if (d->ticketToken.startsWith(QLatin1String("qrcode:"), 
Qt::CaseInsensitive)) {
         return ticketToken().mid(7);
     } else if (d->ticketToken.startsWith(QLatin1String("azteccode:"), 
Qt::CaseInsensitive)) {
         return ticketToken().mid(10);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.08.1/src/extractors/sncf.js 
new/kitinerary-19.08.2/src/extractors/sncf.js
--- old/kitinerary-19.08.1/src/extractors/sncf.js       2019-08-30 
09:27:33.000000000 +0200
+++ new/kitinerary-19.08.2/src/extractors/sncf.js       2019-09-30 
07:37:37.000000000 +0200
@@ -151,12 +151,12 @@
                     res.reservationNumber = pnr[0].content;
                 }
 
-                res.reservationFor.departureTime = JsonLd.toDateTime(dt + 
segmentDetail.content, "dd MMMMhh'h'mm", "fr");
+                res.reservationFor.departureTime = JsonLd.toDateTime(dt + 
segmentDetail.content, "d MMMMhh'h'mm", "fr");
                 segmentDetail = segmentDetail.nextSibling;
                 res.reservationFor.departureStation.name = 
segmentDetail.content;
             }
             else if (cls.includes("segment-arrival")) {
-                res.reservationFor.arrivalTime = JsonLd.toDateTime(dt + 
segmentDetail.content, "dd MMMMhh'h'mm", "fr");
+                res.reservationFor.arrivalTime = JsonLd.toDateTime(dt + 
segmentDetail.content, "d MMMMhh'h'mm", "fr");
                 segmentDetail = segmentDetail.nextSibling;
                 res.reservationFor.arrivalStation.name = segmentDetail.content;
                 reservations.push(res);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.08.1/src/jsonlddocument.cpp 
new/kitinerary-19.08.2/src/jsonlddocument.cpp
--- old/kitinerary-19.08.1/src/jsonlddocument.cpp       2019-08-30 
09:27:33.000000000 +0200
+++ new/kitinerary-19.08.2/src/jsonlddocument.cpp       2019-09-30 
07:37:37.000000000 +0200
@@ -54,7 +54,8 @@
 static const char *fallbackDateTimePattern[] = {
     "yyyy-MM-dd HH:mm:ss",
     "yyyy-MM-dd HH:mm",
-    "MM-dd-yyyy HH:mm" // yes, seriously ;(
+    "MM-dd-yyyy HH:mm", // yes, seriously ;(
+    "yyyyMMddTHHmmsst"
 };
 static const auto fallbackDateTimePatternCount = 
sizeof(fallbackDateTimePattern) / sizeof(const char *);
 
@@ -88,6 +89,10 @@
             for (unsigned int i = 0; i < fallbackDateTimePatternCount && 
dt.isNull(); ++i) {
                 dt = QDateTime::fromString(str, 
QString::fromLatin1(fallbackDateTimePattern[i]));
             }
+            // HACK QDateTimeParser handles 't' in the format but then forces 
it back to LocalTime in the end...
+            if (dt.isValid() && dt.timeSpec() == Qt::LocalTime && 
str.endsWith(QLatin1Char('Z'))) {
+                dt = dt.toTimeSpec(Qt::UTC);
+            }
             if (dt.isNull()) {
                 qCDebug(Log) << "Datetime parsing failed for" << str;
             }


Reply via email to