Hello community,

here is the log from the commit of package kitinerary for openSUSE:Factory 
checked in at 2019-06-13 22:48:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kitinerary (Old)
 and      /work/SRC/openSUSE:Factory/.kitinerary.new.4811 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kitinerary"

Thu Jun 13 22:48:26 2019 rev:11 rq:708618 version:19.04.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/kitinerary/kitinerary.changes    2019-05-14 
13:20:40.245932812 +0200
+++ /work/SRC/openSUSE:Factory/.kitinerary.new.4811/kitinerary.changes  
2019-06-13 22:48:27.452068650 +0200
@@ -1,0 +2,16 @@
+Fri Jun 07 12:51:57 UTC 2019 - [email protected]
+
+- Update to 19.04.2
+  * New bugfix release
+  * For more details please see:
+  * https://www.kde.org/announcements/announce-applications-19.04.2.php
+- Changes since 19.04.1:
+  * Check IATA BCBP input a bit more strictly (kde#407895)
+  * Add German language support for the A&O hostel extractor
+  * Handle line continuations in Deutsche Bahn tickets
+  * More robust line continuation detection for the DB extractor
+  * Keep the ticket token in the RCT2 extractor
+  * Fix PNR extraction for some sort of DB/ÖBB cross-over ticket
+  * PNR is optional in SNCF booking confirmations (kde#404451)
+
+-------------------------------------------------------------------

Old:
----
  kitinerary-19.04.1.tar.xz

New:
----
  kitinerary-19.04.2.tar.xz

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

Other differences:
------------------
++++++ kitinerary.spec ++++++
--- /var/tmp/diff_new_pack.6e8HFc/_old  2019-06-13 22:48:28.016068392 +0200
+++ /var/tmp/diff_new_pack.6e8HFc/_new  2019-06-13 22:48:28.020068390 +0200
@@ -18,7 +18,7 @@
 
 %bcond_without lang
 Name:           kitinerary
-Version:        19.04.1
+Version:        19.04.2
 Release:        0
 Summary:        Data model and extraction system for travel reservations
 License:        LGPL-2.1-or-later

++++++ kitinerary-19.04.1.tar.xz -> kitinerary-19.04.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/CMakeLists.txt 
new/kitinerary-19.04.2/CMakeLists.txt
--- old/kitinerary-19.04.1/CMakeLists.txt       2019-05-07 03:05:49.000000000 
+0200
+++ new/kitinerary-19.04.2/CMakeLists.txt       2019-06-04 02:21:16.000000000 
+0200
@@ -1,5 +1,5 @@
 cmake_minimum_required(VERSION 3.5)
-set(PIM_VERSION "5.11.1")
+set(PIM_VERSION "5.11.2")
 project(KItinerary VERSION ${PIM_VERSION})
 
 set(CMAKE_CXX_STANDARD 14)
@@ -29,9 +29,9 @@
 find_package(Qt5 ${QT_REQUIRED_VERSION} REQUIRED COMPONENTS Test Gui Qml)
 find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS I18n)
 
-set(KMIME_VERSION "5.11.1")
-set(KCALENDARCORE_LIB_VERSION "5.11.1")
-set(KCONTACTS_LIB_VERSION "5.11.1")
+set(KMIME_VERSION "5.11.2")
+set(KCALENDARCORE_LIB_VERSION "5.11.2")
+set(KCONTACTS_LIB_VERSION "5.11.2")
 
 
 find_package(KF5Mime ${KMIME_VERSION} CONFIG REQUIRED)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/autotests/bcbpparsertest.cpp 
new/kitinerary-19.04.2/autotests/bcbpparsertest.cpp
--- old/kitinerary-19.04.1/autotests/bcbpparsertest.cpp 2019-04-29 
07:13:27.000000000 +0200
+++ new/kitinerary-19.04.2/autotests/bcbpparsertest.cpp 2019-05-24 
16:35:35.000000000 +0200
@@ -90,12 +90,16 @@
         QTest::newRow("too short") << QStringLiteral("M1DESMARAIS/LUC       ");
         QTest::newRow("wrong leg count") << QStringLiteral("M2DESMARAIS/LUC    
   EABC123 YULFRAAC 0834 326J001A0025 100");
         QTest::newRow("too short repeated mandatory section") << 
QStringLiteral("M1DOE/JOHN            EXXX007 TXLBRUSN 2592 11");
+        QTest::newRow("bug 407895") << QStringLiteral("M2Mobi Lab / ML-586 [In 
Progress]\nSplit Fooo.Config from main 
Fooo\n\n========================================================");
     }
 
     void testParserInvalid()
     {
         QFETCH(QString, message);
         const auto res = IataBcbpParser::parse(message);
+        if (!res.isEmpty()) {
+            qDebug().noquote() << 
QJsonDocument(JsonLdDocument::toJson(res)).toJson();
+        }
         QVERIFY(res.isEmpty());
     }
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/po/ar/kitinerary.po 
new/kitinerary-19.04.2/po/ar/kitinerary.po
--- old/kitinerary-19.04.1/po/ar/kitinerary.po  2019-05-07 03:04:53.000000000 
+0200
+++ new/kitinerary-19.04.2/po/ar/kitinerary.po  2019-06-04 02:21:15.000000000 
+0200
@@ -5,8 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
-"POT-Creation-Date: 2018-11-18 04:00+0100\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2019-05-20 07:43+0200\n"
 "PO-Revision-Date: 2018-08-07 21:25+0300\n"
 "Last-Translator: Safa Alfulaij <[email protected]>\n"
 "Language-Team: Arabic <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/po/ca/kitinerary.po 
new/kitinerary-19.04.2/po/ca/kitinerary.po
--- old/kitinerary-19.04.1/po/ca/kitinerary.po  2019-05-07 03:04:57.000000000 
+0200
+++ new/kitinerary-19.04.2/po/ca/kitinerary.po  2019-06-04 02:21:15.000000000 
+0200
@@ -8,8 +8,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: kitinerary\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
-"POT-Creation-Date: 2018-11-18 04:00+0100\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2019-05-20 07:43+0200\n"
 "PO-Revision-Date: 2018-08-15 11:44+0100\n"
 "Last-Translator: Antoni Bella Pérez <[email protected]>\n"
 "Language-Team: Catalan <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/po/ca@valencia/kitinerary.po 
new/kitinerary-19.04.2/po/ca@valencia/kitinerary.po
--- old/kitinerary-19.04.1/po/ca@valencia/kitinerary.po 2019-05-07 
03:04:58.000000000 +0200
+++ new/kitinerary-19.04.2/po/ca@valencia/kitinerary.po 2019-06-04 
02:21:15.000000000 +0200
@@ -8,8 +8,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: kitinerary\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
-"POT-Creation-Date: 2018-11-18 04:00+0100\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2019-05-20 07:43+0200\n"
 "PO-Revision-Date: 2018-08-15 11:44+0100\n"
 "Last-Translator: Antoni Bella Pérez <[email protected]>\n"
 "Language-Team: Catalan <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/po/cs/kitinerary.po 
new/kitinerary-19.04.2/po/cs/kitinerary.po
--- old/kitinerary-19.04.1/po/cs/kitinerary.po  2019-05-07 03:04:59.000000000 
+0200
+++ new/kitinerary-19.04.2/po/cs/kitinerary.po  2019-06-04 02:21:15.000000000 
+0200
@@ -2,8 +2,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: desktop files\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
-"POT-Creation-Date: 2018-11-18 04:00+0100\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2019-05-20 07:43+0200\n"
 "PO-Revision-Date: 2018-08-30 16:51+0100\n"
 "Last-Translator: Vit Pelcak <[email protected]>\n"
 "Language-Team: Czech <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/po/de/kitinerary.po 
new/kitinerary-19.04.2/po/de/kitinerary.po
--- old/kitinerary-19.04.1/po/de/kitinerary.po  2019-05-07 03:05:01.000000000 
+0200
+++ new/kitinerary-19.04.2/po/de/kitinerary.po  2019-06-04 02:21:15.000000000 
+0200
@@ -5,8 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
-"POT-Creation-Date: 2018-11-18 04:00+0100\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2019-05-20 07:43+0200\n"
 "PO-Revision-Date: 2018-10-24 06:48+0100\n"
 "Last-Translator: Burkhard Lück <[email protected]>\n"
 "Language-Team: German <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/po/en_GB/kitinerary.po 
new/kitinerary-19.04.2/po/en_GB/kitinerary.po
--- old/kitinerary-19.04.1/po/en_GB/kitinerary.po       2019-05-07 
03:05:04.000000000 +0200
+++ new/kitinerary-19.04.2/po/en_GB/kitinerary.po       2019-06-04 
02:21:15.000000000 +0200
@@ -5,8 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
-"POT-Creation-Date: 2018-11-18 04:00+0100\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2019-05-20 07:43+0200\n"
 "PO-Revision-Date: 2018-08-15 12:59+0100\n"
 "Last-Translator: Steve Allewell <[email protected]>\n"
 "Language-Team: British English <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/po/es/kitinerary.po 
new/kitinerary-19.04.2/po/es/kitinerary.po
--- old/kitinerary-19.04.1/po/es/kitinerary.po  2019-05-07 03:05:05.000000000 
+0200
+++ new/kitinerary-19.04.2/po/es/kitinerary.po  2019-06-04 02:21:15.000000000 
+0200
@@ -5,8 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
-"POT-Creation-Date: 2018-11-18 04:00+0100\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2019-05-20 07:43+0200\n"
 "PO-Revision-Date: 2018-09-13 22:15+0100\n"
 "Last-Translator: Javier Vinal <[email protected]>\n"
 "Language-Team: Spanish <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/po/fi/kitinerary.po 
new/kitinerary-19.04.2/po/fi/kitinerary.po
--- old/kitinerary-19.04.1/po/fi/kitinerary.po  2019-05-07 03:05:10.000000000 
+0200
+++ new/kitinerary-19.04.2/po/fi/kitinerary.po  2019-06-04 02:21:15.000000000 
+0200
@@ -2,8 +2,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: desktop files\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
-"POT-Creation-Date: 2018-11-18 04:00+0100\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2019-05-20 07:43+0200\n"
 "PO-Revision-Date: 2018-08-19 16:26+0200\n"
 "Last-Translator: Tommi Nieminen <[email protected]>\n"
 "Language-Team: Finnish <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/po/fr/kitinerary.po 
new/kitinerary-19.04.2/po/fr/kitinerary.po
--- old/kitinerary-19.04.1/po/fr/kitinerary.po  2019-05-07 03:05:12.000000000 
+0200
+++ new/kitinerary-19.04.2/po/fr/kitinerary.po  2019-06-04 02:21:15.000000000 
+0200
@@ -3,8 +3,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: desktop files\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
-"POT-Creation-Date: 2018-11-18 04:00+0100\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2019-05-20 07:43+0200\n"
 "PO-Revision-Date: 2018-08-15 16:06+0800\n"
 "Last-Translator: Simon Depiets <[email protected]>\n"
 "Language-Team: French <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/po/gl/kitinerary.po 
new/kitinerary-19.04.2/po/gl/kitinerary.po
--- old/kitinerary-19.04.1/po/gl/kitinerary.po  2019-05-07 03:05:14.000000000 
+0200
+++ new/kitinerary-19.04.2/po/gl/kitinerary.po  2019-06-04 02:21:16.000000000 
+0200
@@ -5,8 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
-"POT-Creation-Date: 2018-11-18 04:00+0100\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2019-05-20 07:43+0200\n"
 "PO-Revision-Date: 2018-10-21 19:04+0100\n"
 "Last-Translator: Adrián Chaves (Gallaecio) <[email protected]>\n"
 "Language-Team: Galician <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/po/it/kitinerary.po 
new/kitinerary-19.04.2/po/it/kitinerary.po
--- old/kitinerary-19.04.1/po/it/kitinerary.po  2019-05-07 03:05:21.000000000 
+0200
+++ new/kitinerary-19.04.2/po/it/kitinerary.po  2019-06-04 02:21:16.000000000 
+0200
@@ -1,9 +1,9 @@
-# Luigi Toscano <[email protected]>, 2017, 2018.
+# Luigi Toscano <[email protected]>, 2017, 2018, 2019.
 msgid ""
 msgstr ""
 "Project-Id-Version: desktop files\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
-"POT-Creation-Date: 2018-11-18 04:00+0100\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2019-05-20 07:43+0200\n"
 "PO-Revision-Date: 2018-08-19 22:21+0100\n"
 "Last-Translator: Luigi Toscano <[email protected]>\n"
 "Language-Team: Italian <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/po/ja/kitinerary.po 
new/kitinerary-19.04.2/po/ja/kitinerary.po
--- old/kitinerary-19.04.1/po/ja/kitinerary.po  2019-05-07 03:05:22.000000000 
+0200
+++ new/kitinerary-19.04.2/po/ja/kitinerary.po  2019-06-04 02:21:16.000000000 
+0200
@@ -1,8 +1,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: desktop files\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
-"POT-Creation-Date: 2018-11-18 04:00+0100\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2019-05-20 07:43+0200\n"
 "PO-Revision-Date: 2017-11-01 22:28-0700\n"
 "Last-Translator: Japanese KDE translation team <[email protected]>\n"
 "Language-Team: Japanese <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/po/ko/kitinerary.po 
new/kitinerary-19.04.2/po/ko/kitinerary.po
--- old/kitinerary-19.04.1/po/ko/kitinerary.po  2019-05-07 03:05:25.000000000 
+0200
+++ new/kitinerary-19.04.2/po/ko/kitinerary.po  2019-06-04 02:21:16.000000000 
+0200
@@ -2,11 +2,11 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: desktop files\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
-"POT-Creation-Date: 2018-11-18 04:00+0100\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2019-05-20 07:43+0200\n"
 "PO-Revision-Date: 2018-08-15 11:47+0100\n"
 "Last-Translator: Shinjo Park <[email protected]>\n"
-"Language-Team: Korean <[email protected]>\n"
+"Language-Team: Korean <[email protected]>\n"
 "Language: ko\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/po/nl/kitinerary.po 
new/kitinerary-19.04.2/po/nl/kitinerary.po
--- old/kitinerary-19.04.1/po/nl/kitinerary.po  2019-05-07 03:05:30.000000000 
+0200
+++ new/kitinerary-19.04.2/po/nl/kitinerary.po  2019-06-04 02:21:16.000000000 
+0200
@@ -5,8 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
-"POT-Creation-Date: 2018-11-18 04:00+0100\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2019-05-20 07:43+0200\n"
 "PO-Revision-Date: 2018-08-14 22:26+0100\n"
 "Last-Translator: Freek de Kruijf <[email protected]>\n"
 "Language-Team: Dutch <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/po/pl/kitinerary.po 
new/kitinerary-19.04.2/po/pl/kitinerary.po
--- old/kitinerary-19.04.1/po/pl/kitinerary.po  2019-05-07 03:05:34.000000000 
+0200
+++ new/kitinerary-19.04.2/po/pl/kitinerary.po  2019-06-04 02:21:16.000000000 
+0200
@@ -5,8 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
-"POT-Creation-Date: 2018-11-18 04:00+0100\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2019-05-20 07:43+0200\n"
 "PO-Revision-Date: 2018-11-04 08:04+0100\n"
 "Last-Translator: Łukasz Wojniłowicz <[email protected]>\n"
 "Language-Team: Polish <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/po/pt/kitinerary.po 
new/kitinerary-19.04.2/po/pt/kitinerary.po
--- old/kitinerary-19.04.1/po/pt/kitinerary.po  2019-05-07 03:05:35.000000000 
+0200
+++ new/kitinerary-19.04.2/po/pt/kitinerary.po  2019-06-04 02:21:16.000000000 
+0200
@@ -1,8 +1,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: kitinerary\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
-"POT-Creation-Date: 2018-11-18 04:00+0100\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2019-05-20 07:43+0200\n"
 "PO-Revision-Date: 2018-08-14 12:16+0100\n"
 "Last-Translator: José Nuno Coelho Pires <[email protected]>\n"
 "Language-Team: Portuguese <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/po/pt_BR/kitinerary.po 
new/kitinerary-19.04.2/po/pt_BR/kitinerary.po
--- old/kitinerary-19.04.1/po/pt_BR/kitinerary.po       2019-05-07 
03:05:36.000000000 +0200
+++ new/kitinerary-19.04.2/po/pt_BR/kitinerary.po       2019-06-04 
02:21:16.000000000 +0200
@@ -2,20 +2,21 @@
 # This file is distributed under the same license as the kitinerary package.
 #
 # Luiz Fernando Ranghetti <[email protected]>, 2018, 2019.
+# André Marcelo Alvarenga <[email protected]>, 2019.
 msgid ""
 msgstr ""
 "Project-Id-Version: kitinerary\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
-"POT-Creation-Date: 2018-11-18 04:00+0100\n"
-"PO-Revision-Date: 2019-02-06 15:55-0200\n"
-"Last-Translator: Luiz Fernando Ranghetti <[email protected]>\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2019-05-20 07:43+0200\n"
+"PO-Revision-Date: 2019-05-18 14:44-0300\n"
+"Last-Translator: André Marcelo Alvarenga <[email protected]>\n"
 "Language-Team: Portuguese <[email protected]>\n"
 "Language: pt_BR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 18.12.1\n"
+"X-Generator: Lokalize 19.04.0\n"
 
 #: calendarhandler.cpp:179
 #, kde-format
@@ -56,7 +57,7 @@
 #: calendarhandler.cpp:350
 #, kde-format
 msgid "Booking reference: %1"
-msgstr ""
+msgstr "Referência de reserva: %1"
 
 #: calendarhandler.cpp:240
 #, kde-format
@@ -71,7 +72,7 @@
 #: calendarhandler.cpp:254
 #, kde-format
 msgid "Coach: %1"
-msgstr ""
+msgstr "Vagão: %1"
 
 #: calendarhandler.cpp:260
 #, kde-format
@@ -95,11 +96,14 @@
 "Check-out: %2\n"
 "Booking reference: %3"
 msgstr ""
+"Entrada: %1\n"
+"Saída: %2\n"
+"Referência da reserva: %3"
 
 #: calendarhandler.cpp:335
 #, kde-format
 msgid "Entrance for %1"
-msgstr ""
+msgstr "Entrada para %1"
 
 #: calendarhandler.cpp:375 calendarhandler.cpp:387
 #, kde-format
@@ -137,6 +141,12 @@
 "\n"
 "Dropoff Location: %4"
 msgstr ""
+"Referência da reserva: %1\n"
+"Com o nome: %2\n"
+"\n"
+"Local de retirada: %3\n"
+"\n"
+"Local de devolução: %4"
 
 #: calendarhandler.cpp:440
 #, kde-format
@@ -145,3 +155,6 @@
 "Under name: %2\n"
 "PickUp location: %3"
 msgstr ""
+"Referência da reserva: %1\n"
+"Com o nome: %2\n"
+"Local de retirada: %3"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/po/ru/kitinerary.po 
new/kitinerary-19.04.2/po/ru/kitinerary.po
--- old/kitinerary-19.04.1/po/ru/kitinerary.po  2019-05-07 03:05:38.000000000 
+0200
+++ new/kitinerary-19.04.2/po/ru/kitinerary.po  2019-06-04 02:21:16.000000000 
+0200
@@ -5,8 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
-"POT-Creation-Date: 2018-11-18 04:00+0100\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2019-05-20 07:43+0200\n"
 "PO-Revision-Date: 2018-07-05 18:01+0300\n"
 "Last-Translator: Alexander Potashev <[email protected]>\n"
 "Language-Team: Russian <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/po/sk/kitinerary.po 
new/kitinerary-19.04.2/po/sk/kitinerary.po
--- old/kitinerary-19.04.1/po/sk/kitinerary.po  2019-05-07 03:05:39.000000000 
+0200
+++ new/kitinerary-19.04.2/po/sk/kitinerary.po  2019-06-04 02:21:16.000000000 
+0200
@@ -3,8 +3,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: kitinerary\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
-"POT-Creation-Date: 2018-11-18 04:00+0100\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2019-05-20 07:43+0200\n"
 "PO-Revision-Date: 2018-04-04 22:15+0100\n"
 "Last-Translator: Roman Paholik <[email protected]>\n"
 "Language-Team: Slovak <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/po/sv/kitinerary.po 
new/kitinerary-19.04.2/po/sv/kitinerary.po
--- old/kitinerary-19.04.1/po/sv/kitinerary.po  2019-05-07 03:05:42.000000000 
+0200
+++ new/kitinerary-19.04.2/po/sv/kitinerary.po  2019-06-04 02:21:16.000000000 
+0200
@@ -5,8 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
-"POT-Creation-Date: 2018-11-18 04:00+0100\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2019-05-20 07:43+0200\n"
 "PO-Revision-Date: 2018-08-14 19:37+0100\n"
 "Last-Translator: Stefan Asserhäll <[email protected]>\n"
 "Language-Team: Swedish <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/po/uk/kitinerary.po 
new/kitinerary-19.04.2/po/uk/kitinerary.po
--- old/kitinerary-19.04.1/po/uk/kitinerary.po  2019-05-07 03:05:46.000000000 
+0200
+++ new/kitinerary-19.04.2/po/uk/kitinerary.po  2019-06-04 02:21:16.000000000 
+0200
@@ -7,8 +7,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: kitinerary\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
-"POT-Creation-Date: 2018-11-18 04:00+0100\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2019-05-20 07:43+0200\n"
 "PO-Revision-Date: 2018-08-14 08:42+0200\n"
 "Last-Translator: Yuri Chornoivan <[email protected]>\n"
 "Language-Team: Ukrainian <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/po/zh_CN/kitinerary.po 
new/kitinerary-19.04.2/po/zh_CN/kitinerary.po
--- old/kitinerary-19.04.1/po/zh_CN/kitinerary.po       2019-05-07 
03:05:47.000000000 +0200
+++ new/kitinerary-19.04.2/po/zh_CN/kitinerary.po       2019-06-04 
02:21:16.000000000 +0200
@@ -6,9 +6,9 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: kdeorg\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
-"POT-Creation-Date: 2018-11-18 04:00+0100\n"
-"PO-Revision-Date: 2019-05-05 22:31\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2019-05-20 07:43+0200\n"
+"PO-Revision-Date: 2019-06-02 13:16\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.04.1/po/zh_TW/kitinerary.po 
new/kitinerary-19.04.2/po/zh_TW/kitinerary.po
--- old/kitinerary-19.04.1/po/zh_TW/kitinerary.po       2019-05-07 
03:05:49.000000000 +0200
+++ new/kitinerary-19.04.2/po/zh_TW/kitinerary.po       2019-06-04 
02:21:16.000000000 +0200
@@ -6,8 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: kitinerary\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n";
-"POT-Creation-Date: 2018-11-18 04:00+0100\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2019-05-20 07:43+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Chinese <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/src/extractors/aohostels.js 
new/kitinerary-19.04.2/src/extractors/aohostels.js
--- old/kitinerary-19.04.1/src/extractors/aohostels.js  2019-04-29 
07:13:27.000000000 +0200
+++ new/kitinerary-19.04.2/src/extractors/aohostels.js  2019-05-24 
16:35:35.000000000 +0200
@@ -20,19 +20,19 @@
 function main(text) {
     var res = JsonLd.newObject("LodgingReservation");
 
-    var bookingRef = text.match(/Booking no\.\s+([A-Z0-9-]+)\s+/);
+    var bookingRef = text.match(/(?:Booking 
no\.|Buchungs-Nr\.)\s+([A-Z0-9-]+)\s+/);
     if (!bookingRef)
         return null;
     res.reservationNumber = bookingRef[1];
     var idx = bookingRef.index + bookingRef[0].length;
 
-    var arrivalDate = 
text.substr(idx).match(/Arrival\s+(\d{1,2}\.\d{1,2}\.\d{4})\s+/)
+    var arrivalDate = 
text.substr(idx).match(/(?:Arrival|Anreise)\s+(\d{1,2}\.\d{1,2}\.\d{4})\s+/)
     if (!arrivalDate)
         return null;
     res.checkinTime = JsonLd.toDateTime(arrivalDate[1] + " 15:00", "dd.MM.yyyy 
hh:mm", "en");
     idx += arrivalDate.index + arrivalDate[0].length;
 
-    var departureDate = 
text.substr(idx).match(/Departure\s+(\d{1,2}\.\d{1,2}\.\d{4})\s+/)
+    var departureDate = 
text.substr(idx).match(/(?:Departure|Abreise)\s+(\d{1,2}\.\d{1,2}\.\d{4})\s+/)
     if (!departureDate)
         return null;
     res.checkoutTime = JsonLd.toDateTime(departureDate[1] + " 10:00", 
"dd.MM.yyyy hh:mm", "en");
@@ -43,18 +43,18 @@
     res.reservationFor.geo = JsonLd.toGeoCoordinates(geo[1]);
 
     res.underName = JsonLd.newObject("Person");
-    var name = text.substr(idx).match(/\*First name\*\s+([^\s{2}]+)\s{2,}/);
+    var name = text.substr(idx).match(/\*(?:First 
name|Vorname)\*\s+([^\s{2}]+)\s{2,}/);
     if (!name)
         return null;
     res.underName.name = name[1];
     idx += name.index + name[0].length;
-    name = text.substr(idx).match(/\*Last name\*\s+([^\s{2}]+)\s{2,}/);
+    name = text.substr(idx).match(/\*(?:Last 
name|Nachname)\*\s+([^\s{2}]+)\s{2,}/);
     if (!name)
         return null;
     res.underName.name += ' ' + name[1];
     idx += name.index + name[0].length;
 
-    var hotel = text.substr(idx).match(/Your booked house\s+/);
+    var hotel = text.substr(idx).match(/(?:Your booked house|Ihr gebuchtes 
Haus)\s+/);
     if (!hotel)
         return null;
     idx += hotel.index + hotel[0].length;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/src/extractors/deutschebahn.js 
new/kitinerary-19.04.2/src/extractors/deutschebahn.js
--- old/kitinerary-19.04.1/src/extractors/deutschebahn.js       2019-04-29 
07:13:27.000000000 +0200
+++ new/kitinerary-19.04.2/src/extractors/deutschebahn.js       2019-05-24 
16:35:35.000000000 +0200
@@ -31,17 +31,14 @@
 }
 
 function parseDeparture(res, line, year, compact) {
+    var dep = line.match(/^(.+?) *([0-9]{2})\.([0-9]{2})\. +ab 
([0-9]{2}:[0-9]{2})/);
+    if (!dep)
+        return false;
+
     res.reservationFor.departureStation = JsonLd.newObject("TrainStation");
-    var station = line.match(/^(.+?)  /);
-    if (!station)
-        return;
-    var idx = station.index + station[0].length;
-    res.reservationFor.departureStation.name = station[1];
-    var dt = line.substr(idx).match(/([0-9]{2})\.([0-9]{2})\. +ab 
([0-9]{2}:[0-9]{2})/);
-    if (dt) {
-        idx += dt.index + dt[0].length;
-        res.reservationFor.departureTime = JsonLd.toDateTime(dt[1] + ' ' + 
dt[2] + ' ' + year + ' ' + dt[3], "dd MM yyyy hh:mm", "de");
-    }
+    res.reservationFor.departureStation.name = dep[1];
+    res.reservationFor.departureTime = JsonLd.toDateTime(dep[2] + ' ' + dep[3] 
+ ' ' + year + ' ' + dep[4], "dd MM yyyy hh:mm", "de");
+    var idx = dep.index + dep[0].length;
     var platform = line.substr(idx).match(/^ {1,3}(.*?)(?=(  | IC|$))/);
     if (platform) {
         idx += platform.index + platform[0].length;
@@ -53,26 +50,24 @@
         res.reservationFor.trainNumber = trainId[1];
     }
     parseSeat(res, line.substr(idx));
+    return true;
 }
 
 function parseArrival(res, line, year) {
+    var arr = line.match(/^(.+?) *([0-9]{2})\.([0-9]{2})\. +an 
([0-9]{2}:[0-9]{2})/);
+    if (!arr)
+        return false;
     res.reservationFor.arrivalStation = JsonLd.newObject("TrainStation");
-    var station = line.match(/^(.+?)  /);
-    if (!station)
-        return;
-    var idx = station.index + station[0].length;
-    res.reservationFor.arrivalStation.name = station[1];
-    var dt = line.substr(idx).match(/([0-9]{2})\.([0-9]{2})\. +an 
([0-9]{2}:[0-9]{2})/);
-    if (dt) {
-        idx += dt.index + dt[0].length;
-        res.reservationFor.arrivalTime = JsonLd.toDateTime(dt[1] + ' ' + dt[2] 
+ ' ' + year + ' ' + dt[3], "dd MM yyyy hh:mm", "de");
-    }
+    res.reservationFor.arrivalStation.name = arr[1];
+    res.reservationFor.arrivalTime = JsonLd.toDateTime(arr[2] + ' ' + arr[3] + 
' ' + year + ' ' + arr[4], "dd MM yyyy hh:mm", "de");
+    var idx = arr.index + arr[0].length;
     var platform = line.substr(idx).match(/^ {1,3}(.*?)(?=(  | IC|$))/);
     if (platform) {
         idx += platform.index + platform[0].length;
         res.reservationFor.arrivalPlatform = platform[1];
     }
     parseSeat(res, line.substr(idx));
+    return true;
 }
 
 function parseLegs(text, year, compact) {
@@ -82,26 +77,53 @@
     for (var i = 0; compact && i < lines.length; ++i)
         lines[i] = lines[i].substr(offset[0].length);
 
-    var depIdx = 0, arrIdx = 1;
-    while (depIdx < lines.length) {
+    for (var i = 0; i < lines.length;) {
+        // stop when reaching the footer or the next itinerary header
+        if (isHeaderOrFooter(lines[i]))
+            return reservations;
+
         var res = JsonLd.newObject("TrainReservation");
         res.reservationFor = JsonLd.newObject("TrainTrip");
         res.reservedTicket = JsonLd.newObject("Ticket");
         res.reservedTicket.ticketedSeat = JsonLd.newObject("Seat");
 
-        // stop when reaching the footer or the next itinerary header
-        if (isHeaderOrFooter(lines[depIdx]))
-            return reservations;
+        while (i < lines.length && !isHeaderOrFooter(lines[i])) {
+            if (parseDeparture(res, lines[i++], year, compact))
+                break;
+        }
+        while (i < lines.length && !isHeaderOrFooter(lines[i])) {
+            if (parseArrival(res, lines[i], year)) {
+                ++i;
+                break;
+            }
+
+            // continuation of departure line
+            var depStation = lines[i].match(/^(\S.*?)(?:  |\n|$)/)
+            if (depStation)
+                res.reservationFor.departureStation.name = 
res.reservationFor.departureStation.name +  " " + depStation[1];
+            parseSeat(res, lines[i]);
+
+            ++i;
+        }
+        // handle continuations of the arrival line
+        while (i < lines.length && !isHeaderOrFooter(lines[i])) {
+            if (lines[i].match(/^\S.+? *[0-9]{2}\.[0-9]{2}\. +ab 
[0-9]{2}:[0-9]{2}/)) // next departure line
+                break;
+
+            // continuation of arrival line
+            var arrStation = lines[i].match(/^(\S.*?)(?:  |\n|$)/)
+            if (arrStation)
+                res.reservationFor.arrivalStation.name = 
res.reservationFor.arrivalStation.name +  " " + arrStation[1];
+            parseSeat(res, lines[i]);
 
-        arrIdx = depIdx + 1;
-        while (arrIdx < lines.length && lines[arrIdx].startsWith(' ')) // line 
continuations for departure, we still need to handle that correctly
-            ++arrIdx;
-        parseDeparture(res, lines[depIdx], year, compact);
-        parseArrival(res, lines[arrIdx], year);
-        depIdx = arrIdx + 1;
-        while (depIdx < lines.length && lines[depIdx].startsWith(' ') && 
!isHeaderOrFooter(lines[depIdx])) // line continuations for arrival, dito
-            ++depIdx;
-        reservations.push(res);
+            ++i;
+        }
+
+        if (res.reservationFor.arrivalStation != undefined) {
+            reservations.push(res);
+        } else {
+            ++i;
+        }
     }
 
     return reservations;
@@ -160,7 +182,7 @@
 
     // international tickets have the booking reference somewhere on the side, 
so we don't really know
     // where it is relative to the itinerary
-    var bookingRef = text.match(/Auftragsnummer:\s*([A-Z0-9]{6})\n/);
+    var bookingRef = text.match(/(?:Auftragsnummer|Auftrag 
\(NVS\)):\s*([A-Z0-9]{6,9})\n/);
     for (var i = 0; i < reservations.length; ++i)
         reservations[i].reservationNumber = bookingRef[1];
     return reservations;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/src/extractors/sncf.js 
new/kitinerary-19.04.2/src/extractors/sncf.js
--- old/kitinerary-19.04.1/src/extractors/sncf.js       2019-04-29 
07:13:27.000000000 +0200
+++ new/kitinerary-19.04.2/src/extractors/sncf.js       2019-05-24 
16:35:35.000000000 +0200
@@ -131,7 +131,7 @@
 {
     var reservations = new Array();
 
-    var pnr = 
html.eval("//*[@class=\"pnr-ref\"]/*[@class=\"pnr-info\"]")[0].content;
+    var pnr = html.eval("//*[@class=\"pnr-ref\"]/*[@class=\"pnr-info\"]");
 
     var productDts = html.eval("//*[@class=\"product-travel-date\"]");
     var productDetails = html.eval("//table[@class=\"product-details\"]");
@@ -148,7 +148,9 @@
                 res.reservationFor = JsonLd.newObject("TrainTrip");
                 res.reservationFor.departureStation = 
JsonLd.newObject("TrainStation");
                 res.reservationFor.arrivalStation = 
JsonLd.newObject("TrainStation");
-                res.reservationNumber = pnr;
+                if (pnr.length > 0) {
+                    res.reservationNumber = pnr[0].content;
+                }
 
                 res.reservationFor.departureTime = JsonLd.toDateTime(dt + 
segmentDetail.content, "dd MMMMhh'h'mm", "fr");
                 segmentDetail = segmentDetail.nextSibling;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/src/genericuic918extractor.cpp 
new/kitinerary-19.04.2/src/genericuic918extractor.cpp
--- old/kitinerary-19.04.1/src/genericuic918extractor.cpp       2019-04-29 
07:13:27.000000000 +0200
+++ new/kitinerary-19.04.2/src/genericuic918extractor.cpp       2019-05-24 
16:35:35.000000000 +0200
@@ -85,6 +85,7 @@
 
     QJsonObject ticket;
     ticket.insert(QStringLiteral("@type"), QLatin1String("Ticket"));
+    ticket.insert(QStringLiteral("ticketToken"), 
QString(QLatin1String("aztecbin:") + QString::fromLatin1(data.toBase64())));
     ticket.insert(QStringLiteral("ticketedSeat"), seat);
 
     QJsonObject res;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.04.1/src/iatabcbpparser.cpp 
new/kitinerary-19.04.2/src/iatabcbpparser.cpp
--- old/kitinerary-19.04.1/src/iatabcbpparser.cpp       2019-04-29 
07:13:27.000000000 +0200
+++ new/kitinerary-19.04.2/src/iatabcbpparser.cpp       2019-05-24 
16:35:35.000000000 +0200
@@ -50,6 +50,11 @@
     return s.mid(0, width).toInt(nullptr, 16);
 }
 
+static bool isValidAirportCode(const QString &s)
+{
+    return std::all_of(s.begin(), s.end(), [](const QChar c) { return 
c.isLetter() && c.isUpper(); });
+}
+
 static int parseRepeatedMandatorySection(const QStringRef& msg, 
FlightReservation& res)
 {
     if (msg.size() < 24) { // pre-checking data, technically incomplete, but 
we can make use of this nevertheless
@@ -64,6 +69,10 @@
     flight.setDepartureAirport(airport);
     airport.setIataCode(msg.mid(10, 3).toString());
     flight.setArrivalAirport(airport);
+    if (!isValidAirportCode(flight.departureAirport().iataCode()) || 
!isValidAirportCode(flight.arrivalAirport().iataCode())) {
+        qCWarning(Log) << "IATA airport code format violation";
+        return -1;
+    }
 
     Airline airline;
     airline.setIataCode(msg.mid(13, 3).trimmed().toString());


Reply via email to