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());
