Hello community,

here is the log from the commit of package kitinerary for openSUSE:Factory 
checked in at 2020-02-10 21:48:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kitinerary (Old)
 and      /work/SRC/openSUSE:Factory/.kitinerary.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kitinerary"

Mon Feb 10 21:48:43 2020 rev:20 rq:771672 version:19.12.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/kitinerary/kitinerary.changes    2020-01-11 
14:42:11.253235758 +0100
+++ /work/SRC/openSUSE:Factory/.kitinerary.new.26092/kitinerary.changes 
2020-02-10 21:48:44.470035700 +0100
@@ -1,0 +2,18 @@
+Fri Feb  7 08:37:37 UTC 2020 - Christophe Giboudeaux <[email protected]>
+
+- Replace %make_jobs with %cmake_build.
+
+-------------------------------------------------------------------
+Wed Feb  5 06:29:15 UTC 2020 - Luca Beltrame <[email protected]>
+
+- Update to 19.12.2
+  * New bugfix release
+  * For more details please see:
+  * https://www.kde.org/announcements/releases/19.12.2
+- Changes since 19.12.1:
+  * Fix merging of flight reservations with different IATA BCBP data
+  * Deal with the German language variant of Trenitalia tickets
+  * Move extractor engine capabilities string to the library
+  * Add walking distance accuracy level for the location comparison
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ kitinerary.spec ++++++
--- /var/tmp/diff_new_pack.G7y0wA/_old  2020-02-10 21:48:45.022036005 +0100
+++ /var/tmp/diff_new_pack.G7y0wA/_new  2020-02-10 21:48:45.026036007 +0100
@@ -18,7 +18,7 @@
 
 %bcond_without lang
 Name:           kitinerary
-Version:        19.12.1
+Version:        19.12.2
 Release:        0
 Summary:        Data model and extraction system for travel reservations
 License:        LGPL-2.1-or-later
@@ -84,7 +84,7 @@
 
 %build
   %cmake_kf5 -d build
-  %make_jobs
+  %cmake_build
 
 %install
   %kf5_makeinstall -C build


++++++ kitinerary-19.12.1.tar.xz -> kitinerary-19.12.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.12.1/CMakeLists.txt 
new/kitinerary-19.12.2/CMakeLists.txt
--- old/kitinerary-19.12.1/CMakeLists.txt       2020-01-07 03:35:29.000000000 
+0100
+++ new/kitinerary-19.12.2/CMakeLists.txt       2020-02-04 03:05:05.000000000 
+0100
@@ -1,5 +1,5 @@
 cmake_minimum_required(VERSION 3.5)
-set(PIM_VERSION "5.13.1")
+set(PIM_VERSION "5.13.2")
 project(KItinerary VERSION ${PIM_VERSION})
 
 set(CMAKE_CXX_STANDARD 14)
@@ -32,8 +32,8 @@
     find_package(SharedMimeInfo 1.3 REQUIRED)
 endif()
 
-set(KMIME_VERSION "5.13.1")
-set(PIM_PKPASS "5.13.1")
+set(KMIME_VERSION "5.13.2")
+set(PIM_PKPASS "5.13.2")
 
 find_package(KF5Mime ${KMIME_VERSION} CONFIG REQUIRED)
 find_package(KF5CalendarCore ${KF5_MIN_VERSION} CONFIG)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.12.1/po/ca@valencia/kitinerary.po 
new/kitinerary-19.12.2/po/ca@valencia/kitinerary.po
--- old/kitinerary-19.12.1/po/ca@valencia/kitinerary.po 2020-01-07 
03:35:27.000000000 +0100
+++ new/kitinerary-19.12.2/po/ca@valencia/kitinerary.po 2020-02-04 
03:05:01.000000000 +0100
@@ -164,16 +164,3 @@
 "Referència de la reserva: %1\n"
 "Sota el nom: %2\n"
 "Lloc de la recollida: %3"
-
-#~ msgid ""
-#~ "Number Of People: %1\n"
-#~ "Reservation reference: %2\n"
-#~ "Under name: %3"
-#~ msgstr ""
-#~ "Nombre de persones: %1\n"
-#~ "Referència de la reserva: %2\n"
-#~ "Sota el nom: %3"
-
-#~ msgctxt "<street>, <postal code> <city>, <country>"
-#~ msgid "%1, %2 %3, %4"
-#~ msgstr "%1, %2 %3, %4"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.12.1/po/ia/kitinerary.po 
new/kitinerary-19.12.2/po/ia/kitinerary.po
--- old/kitinerary-19.12.1/po/ia/kitinerary.po  1970-01-01 01:00:00.000000000 
+0100
+++ new/kitinerary-19.12.2/po/ia/kitinerary.po  2020-02-04 03:05:02.000000000 
+0100
@@ -0,0 +1,163 @@
+# Copyright (C) YEAR This file is copyright:
+# This file is distributed under the same license as the kitinerary package.
+#
+# Giovanni Sora <[email protected]>, 2020.
+msgid ""
+msgstr ""
+"Project-Id-Version: kitinerary\n"
+"Report-Msgid-Bugs-To: https://bugs.kde.org\n";
+"POT-Creation-Date: 2019-05-31 03:08+0200\n"
+"PO-Revision-Date: 2020-02-02 19:39+0100\n"
+"Last-Translator: Giovanni Sora <[email protected]>\n"
+"Language-Team: Interlingua <[email protected]>\n"
+"Language: ia\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 2.0\n"
+
+#: calendarhandler.cpp:179
+#, kde-format
+msgid "Flight %1 from %2 to %3"
+msgstr "Volo %1 ex %2 a %3"
+
+#: calendarhandler.cpp:198
+#, kde-format
+msgid "Boarding for flight %1"
+msgstr "Imbarcante per volo %1"
+
+#: calendarhandler.cpp:200
+#, kde-format
+msgid "Boarding for flight %1 at gate %2"
+msgstr "Imbarcante per volo %1 a porta %2"
+
+#: calendarhandler.cpp:209
+#, kde-format
+msgid "Boarding time: %1"
+msgstr "Tempore de imbarcar: %1"
+
+#: calendarhandler.cpp:212
+#, kde-format
+msgid "Departure gate: %1"
+msgstr "Porta de partita: %1"
+
+#: calendarhandler.cpp:222
+#, kde-format
+msgid "Boarding group: %1"
+msgstr "Imbarcante gruppo: %1"
+
+#: calendarhandler.cpp:225 calendarhandler.cpp:257 calendarhandler.cpp:285
+#, kde-format
+msgid "Seat: %1"
+msgstr "Sede: %1"
+
+#: calendarhandler.cpp:228 calendarhandler.cpp:263 calendarhandler.cpp:288
+#: calendarhandler.cpp:350
+#, kde-format
+msgid "Booking reference: %1"
+msgstr "Referentia de reservation: %1"
+
+#: calendarhandler.cpp:240
+#, kde-format
+msgid "Train %1 from %2 to %3"
+msgstr "Traino %1 ex %2 a %3"
+
+#: calendarhandler.cpp:249
+#, kde-format
+msgid "Departure platform: %1"
+msgstr "Platteforma de partita: %1"
+
+#: calendarhandler.cpp:254
+#, kde-format
+msgid "Coach: %1"
+msgstr "Autocar: %1"
+
+#: calendarhandler.cpp:260
+#, kde-format
+msgid "Arrival platform: %1"
+msgstr "Platteforma de arrivata: %1"
+
+#: calendarhandler.cpp:274
+#, kde-format
+msgid "Bus %1 from %2 to %3"
+msgstr "Autobus %1 ex %2 a %3"
+
+#: calendarhandler.cpp:297
+#, kde-format
+msgid "Hotel reservation: %1"
+msgstr "Reservation de Hotel: %1"
+
+#: calendarhandler.cpp:304
+#, kde-format
+msgid ""
+"Check-in: %1\n"
+"Check-out: %2\n"
+"Booking reference: %3"
+msgstr ""
+"Check-in: %1\n"
+"Check-out: %2\n"
+"Referentia de reservation: %3"
+
+#: calendarhandler.cpp:335
+#, kde-format
+msgid "Entrance for %1"
+msgstr "Ingresso per %1"
+
+#: calendarhandler.cpp:375
+#, kde-format
+msgid "Restaurant reservation: %1"
+msgstr "Reservation de restaurante: %1"
+
+#: calendarhandler.cpp:389
+#, kde-format
+msgid "Number Of People: %1"
+msgstr "Numero de personas: %1"
+
+#: calendarhandler.cpp:392
+#, kde-format
+msgid "Reservation reference: %1"
+msgstr "Referentia de reservation: %1"
+
+#: calendarhandler.cpp:396
+#, kde-format
+msgid "Under name: %1"
+msgstr "Sub nomine : %1"
+
+#: calendarhandler.cpp:406
+#, kde-format
+msgid "Rental Car reservation: %1"
+msgstr "Reservation de Location de Auto: %1"
+
+#: calendarhandler.cpp:414
+#, kde-format
+msgid "Rent car reservation: %1"
+msgstr "Reservation de Location de Auto: %1"
+
+#: calendarhandler.cpp:421
+#, kde-format
+msgid ""
+"Reservation reference: %1\n"
+"Under name: %2\n"
+"\n"
+"PickUp location: %3\n"
+"\n"
+"Dropoff Location: %4"
+msgstr ""
+"Referentia de Reservation: %1\n"
+"Sub nomine: %2\n"
+"\n"
+"Location de PickUp: %3\n"
+"\n"
+"Location de Dropoff: %4"
+
+#: calendarhandler.cpp:446
+#, kde-format
+msgid ""
+"Reservation reference: %1\n"
+"Under name: %2\n"
+"PickUp location: %3"
+msgstr ""
+"Referentia de Reservation: %1\n"
+"Sub nomine: %2\n"
+"Location de Pickup: %3"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.12.1/po/zh_CN/kitinerary.po 
new/kitinerary-19.12.2/po/zh_CN/kitinerary.po
--- old/kitinerary-19.12.1/po/zh_CN/kitinerary.po       2020-01-07 
03:35:29.000000000 +0100
+++ new/kitinerary-19.12.2/po/zh_CN/kitinerary.po       2020-02-04 
03:05:05.000000000 +0100
@@ -8,7 +8,7 @@
 "Project-Id-Version: kdeorg\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2019-05-31 03:08+0200\n"
-"PO-Revision-Date: 2020-01-04 21:49\n"
+"PO-Revision-Date: 2020-01-20 21:56\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Chinese Simplified\n"
 "Language: zh_CN\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.12.1/src/CMakeLists.txt 
new/kitinerary-19.12.2/src/CMakeLists.txt
--- old/kitinerary-19.12.1/src/CMakeLists.txt   2020-01-06 18:14:09.000000000 
+0100
+++ new/kitinerary-19.12.2/src/CMakeLists.txt   2020-02-04 00:37:43.000000000 
+0100
@@ -56,6 +56,7 @@
     calendarhandler.cpp
     documentutil.cpp
     extractor.cpp
+    extractorcapabilities.cpp
     extractorengine.cpp
     extractorfilter.cpp
     extractorinput.cpp
@@ -90,6 +91,7 @@
 )
 target_include_directories(KPimItinerary INTERFACE 
"$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_PIM}>")
 target_include_directories(KPimItinerary PUBLIC 
"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>")
+target_include_directories(KPimItinerary PRIVATE ${CMAKE_BINARY_DIR})
 target_link_libraries(KPimItinerary
     PUBLIC
         Qt5::Core
@@ -128,6 +130,7 @@
         CalendarHandler
         DocumentUtil
         Extractor
+        ExtractorCapabilities
         ExtractorEngine
         ExtractorFilter
         ExtractorInput
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.12.1/src/cli/main.cpp 
new/kitinerary-19.12.2/src/cli/main.cpp
--- old/kitinerary-19.12.1/src/cli/main.cpp     2020-01-06 18:14:09.000000000 
+0100
+++ new/kitinerary-19.12.2/src/cli/main.cpp     2020-02-04 00:37:43.000000000 
+0100
@@ -19,6 +19,7 @@
 #include <kitinerary_version.h>
 
 #include <KItinerary/Extractor>
+#include <KItinerary/ExtractorCapabilities>
 #include <KItinerary/ExtractorEngine>
 #include <KItinerary/ExtractorInput>
 #include <KItinerary/ExtractorPostprocessor>
@@ -41,48 +42,7 @@
 
 static void printCapabilities()
 {
-    std::cout << "HTML support        : "
-#ifdef HAVE_LIBXML2
-              << "libxml2"
-#else
-              << "not available"
-#endif
-              << std::endl;
-
-    std::cout << "PDF support         : "
-#ifdef HAVE_POPPLER
-              << "poppler"
-#else
-              << "not available"
-#endif
-              << std::endl;
-
-    std::cout << "iCal support        : "
-#ifdef HAVE_KCAL
-              << "kcal"
-#else
-              << "not available"
-#endif
-              << std::endl;
-
-    std::cout << "Barcode decoder     : "
-#ifdef HAVE_ZXING
-              << "zxing"
-#else
-              << "not available"
-#endif
-              << std::endl;
-
-    std::cout << "Phone number decoder: "
-#ifdef HAVE_PHONENUMBER
-              << "libphonenumber"
-#else
-              << "not available"
-#endif
-              << std::endl;
-
-    ExtractorRepository repo;
-    std::cout << "Extractor scripts   : " << repo.allExtractors().size() << 
std::endl;
+    std::cout << qPrintable(ExtractorCapabilities::capabilitiesString());
 }
 
 static void printExtractors()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kitinerary-19.12.1/src/cli/org.kde.kitinerary-extractor.appdata.xml 
new/kitinerary-19.12.2/src/cli/org.kde.kitinerary-extractor.appdata.xml
--- old/kitinerary-19.12.1/src/cli/org.kde.kitinerary-extractor.appdata.xml     
2020-01-06 18:14:09.000000000 +0100
+++ new/kitinerary-19.12.2/src/cli/org.kde.kitinerary-extractor.appdata.xml     
2020-02-04 00:37:43.000000000 +0100
@@ -10,6 +10,7 @@
   <name xml:lang="fi">KItineraryn komentorivijäsennin</name>
   <name xml:lang="fr">Extracteur KItinerary en ligne de commande</name>
   <name xml:lang="gl">Extractor de liña de ordes de KItinerary</name>
+  <name xml:lang="ia">KItinerary extractor de commando in linea</name>
   <name xml:lang="id">KItinerary Command Line Extractor</name>
   <name xml:lang="it">Estrattore a riga di comando di KItinerary</name>
   <name xml:lang="nl">Extractor van opdrachtregel van KItinerary</name>
@@ -28,6 +29,7 @@
   <summary xml:lang="fi">Komentorivin varaustietojäsennin.</summary>
   <summary xml:lang="fr">Extracteur de données de réservation en ligne de 
commande.</summary>
   <summary xml:lang="gl">Extractor de datos de reservas de liña de 
ordes.</summary>
+  <summary xml:lang="ia">Extractor de datos de reservation como commando in 
linea</summary>
   <summary xml:lang="id">Pengekstrak data reservasi baris perintah.</summary>
   <summary xml:lang="it">Estrattore di dati di prenotazioni a riga di 
comando.</summary>
   <summary xml:lang="nl">Gegevensextractor van reservering op de 
opdrachtregel.</summary>
@@ -48,6 +50,7 @@
     <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 aplicacións de terceiros.</p>
+    <p xml:lang="ia">Commando de linea extractor  per datos de itinerario, de 
integrar in applications de tertie partes.</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>
@@ -66,6 +69,7 @@
     <binary>kitinerary-extractor</binary>
   </provides>
   <releases>
+    <release version="5.13.2" date="2020-02-06"/>
     <release version="5.13.1" date="2020-01-09"/>
     <release version="5.13.0" date="2019-12-12"/>
   </releases>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kitinerary-19.12.1/src/cli/org.kde.kitinerary-extractor.desktop 
new/kitinerary-19.12.2/src/cli/org.kde.kitinerary-extractor.desktop
--- old/kitinerary-19.12.1/src/cli/org.kde.kitinerary-extractor.desktop 
2020-01-06 18:14:09.000000000 +0100
+++ new/kitinerary-19.12.2/src/cli/org.kde.kitinerary-extractor.desktop 
2020-02-04 00:37:43.000000000 +0100
@@ -7,7 +7,9 @@
 Name[fi]=KItinerary-jäsennin
 Name[fr]=Extracteur KItinerary
 Name[gl]=Extractor de KItinerary
+Name[ia]=KItinerary Extractor
 Name[it]=Estrattore di KItinerary
+Name[ko]=KItinerary 추출기
 Name[nl]=Extractor van KItinerary
 Name[pl]=Wydobywanie KItinerary
 Name[pt]=Extracção do KItinerary
@@ -23,7 +25,9 @@
 GenericName[fi]=KItineraryn komentorivijäsennin
 GenericName[fr]=Extracteur KItinerary en ligne de commande
 GenericName[gl]=Extractor de liña de ordes de KItinerary
+GenericName[ia]=KItinerary extractor de commando in linea
 GenericName[it]=Estrattore a riga di comando di KItinerary
+GenericName[ko]=KItinerary 명령행 추출기
 GenericName[nl]=Extractor van opdrachtregel van KItinerary
 GenericName[pl]=Wydobywane danych z wiersza poleceń KItinerary
 GenericName[pt]=Extracção pela linha de comandos do KItinerary
@@ -42,7 +46,9 @@
 Comment[fi]=Komentorivin varaustietojäsennin.
 Comment[fr]=Extracteur de données de réservation en ligne de commande.
 Comment[gl]=Extractor de datos de reservas de liña de ordes.
+Comment[ia]=Extractor de datos de reservation como commando in linea
 Comment[it]=Estrattore di dati di prenotazioni a riga di comando.
+Comment[ko]=명령행 예약 데이터 추출기입니다.
 Comment[nl]=Gegevensextractor van reservering op de opdrachtregel.
 Comment[pl]=Wydobywane danych o rezerwacji z wiersza poleceń.
 Comment[pt]=Extracção de dados de reservas pela linha de comandos.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.12.1/src/extractorcapabilities.cpp 
new/kitinerary-19.12.2/src/extractorcapabilities.cpp
--- old/kitinerary-19.12.1/src/extractorcapabilities.cpp        1970-01-01 
01:00:00.000000000 +0100
+++ new/kitinerary-19.12.2/src/extractorcapabilities.cpp        2020-02-04 
00:37:43.000000000 +0100
@@ -0,0 +1,89 @@
+/*
+    Copyright (C) 2019 Volker Krause <[email protected]>
+
+    This program is free software; you can redistribute it and/or modify it
+    under the terms of the GNU Library General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or (at your
+    option) any later version.
+
+    This program is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
+    License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
+#include <config-kitinerary.h>
+#include <kitinerary_version.h>
+
+#include "extractorcapabilities.h"
+#include "extractor.h"
+#include "extractorrepository.h"
+
+#include <QString>
+
+using namespace KItinerary;
+
+QString ExtractorCapabilities::capabilitiesString()
+{
+    const char s[] =
+        "Engine version      : " KITINERARY_VERSION_STRING "\n"
+
+        "HTML support        : "
+#ifdef HAVE_LIBXML2
+              "libxml2"
+#else
+              "not available"
+#endif
+        "\n"
+
+        "PDF support         : "
+#ifdef HAVE_POPPLER
+              "poppler (" KPOPPLER_VERSION_STRING ")"
+#else
+              "not available"
+#endif
+        "\n"
+
+        "iCal support        : "
+#ifdef HAVE_KCAL
+            "kcal"
+#else
+            "not available"
+#endif
+        "\n"
+
+        "Barcode decoder     : "
+#ifdef HAVE_ZXING
+            "zxing"
+#else
+            "not available"
+#endif
+        "\n"
+
+        "Phone number decoder: "
+#ifdef HAVE_PHONENUMBER
+            "libphonenumber"
+#else
+            "not available"
+#endif
+        "\n"
+
+        "RSA support         : "
+#ifdef HAVE_OPENSSL_RSA
+            "openssl"
+#else
+            "not available"
+#endif
+        "\n"
+
+        "Extractor scripts   : ";
+
+    auto caps = QString::fromLatin1(s);
+    ExtractorRepository repo;
+    caps += QString::number(repo.allExtractors().size()) + QLatin1Char('\n');
+
+    return caps;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.12.1/src/extractorcapabilities.h 
new/kitinerary-19.12.2/src/extractorcapabilities.h
--- old/kitinerary-19.12.1/src/extractorcapabilities.h  1970-01-01 
01:00:00.000000000 +0100
+++ new/kitinerary-19.12.2/src/extractorcapabilities.h  2020-02-04 
00:37:43.000000000 +0100
@@ -0,0 +1,38 @@
+/*
+    Copyright (C) 2019 Volker Krause <[email protected]>
+
+    This program is free software; you can redistribute it and/or modify it
+    under the terms of the GNU Library General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or (at your
+    option) any later version.
+
+    This program is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
+    License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <https://www.gnu.org/licenses/>.
+*/
+
+#ifndef KITINERARY_EXTRACTORCAPABILITIES_H
+#define KITINERARY_EXTRACTORCAPABILITIES_H
+
+#include "kitinerary_export.h"
+
+class QString;
+
+namespace KItinerary {
+
+/** Diagnositic information about which features of the extractor are 
available.
+ *  This typically depends on build options.
+ */
+namespace ExtractorCapabilities
+{
+    /** Textual representation, mainly useful for bug reports/support. */
+    KITINERARY_EXPORT QString capabilitiesString();
+}
+
+}
+
+#endif // KITINERARY_EXTRACTORCAPABILITIES_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.12.1/src/extractors/trenitalia.js 
new/kitinerary-19.12.2/src/extractors/trenitalia.js
--- old/kitinerary-19.12.1/src/extractors/trenitalia.js 2020-01-06 
18:14:09.000000000 +0100
+++ new/kitinerary-19.12.2/src/extractors/trenitalia.js 2020-02-04 
00:37:43.000000000 +0100
@@ -30,18 +30,18 @@
             res.reservationNumber = pnr[1];
         }
 
-        var train = text.match(/(?:Train|Treno): (.*)\n/);
+        var train = text.match(/(?:Train|Treno|Zug): (.*)\n/);
         if (!train) {
             break;
         }
         res.reservationFor.trainNumber = train[1];
 
-        var departure_time = text.match(/(?:Hours|Ore(?:\/Time)?) 
(\d{2}:\d{2}) - (\d{2}\/\d{2}\/\d{4})/)
-        var arrival_time = text.substr(departure_time.index + 
departure_time[0].length).match(/(?:Hours|Ore(?:\/Time)?) (\d{2}:\d{2}) - 
(\d{2}\/\d{2}\/\d{4})/)
+        var departure_time = text.match(/(?:Hours|Ore|Stunden)(?:\/Time)? 
(\d{2}:\d{2}) - (\d{2}\/\d{2}\/\d{4})/)
+        var arrival_time = text.substr(departure_time.index + 
departure_time[0].length).match(/(?:Hours|Ore|Stunden)(?:\/Time)? (\d{2}:\d{2}) 
- (\d{2}\/\d{2}\/\d{4})/)
         res.reservationFor.departureTime = JsonLd.toDateTime(departure_time[2] 
+ departure_time[1], "dd/MM/yyyyhh:mm", "it");
         res.reservationFor.arrivalTime = JsonLd.toDateTime(arrival_time[2] + 
arrival_time[1], "dd/MM/yyyyhh:mm", "it");
 
-        var header = text.match(/(?:Stazione di Arrivo|Arrival station)/);
+        var header = text.match(/(?:Stazione di Arrivo|Arrival station|Ankunft 
Bahnhof)/);
         var dest = text.substr(header.index + header[0].length).match(/\n 
*((?:\w+\.? )*\w+\.?)  +((?:\w+\.? )*\w+\.?)(?:  |\n)/);
         res.reservationFor.departureStation.name = dest[1];
         res.reservationFor.arrivalStation.name = dest[2];
@@ -87,7 +87,7 @@
                     personalRes.reservedTicket.ticketedSeat.seatNumber += 
seatCol.toString(16).toUpperCase();
                 }
 
-                var coach = text.match(/(?:Coaches|Carrozza(?:\/Coach)?): 
+(\S+)/);
+                var coach = 
text.match(/(?:Coaches|Carrozza|Wagen)(?:\/Coach)?: +(\S+)/);
                 personalRes.reservedTicket.ticketedSeat.seatSection = coach[1];
             }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.12.1/src/locationutil.cpp 
new/kitinerary-19.12.2/src/locationutil.cpp
--- old/kitinerary-19.12.1/src/locationutil.cpp 2020-01-06 18:14:09.000000000 
+0100
+++ new/kitinerary-19.12.2/src/locationutil.cpp 2020-02-04 00:37:43.000000000 
+0100
@@ -235,6 +235,12 @@
         switch (accuracy) {
             case Exact:
                 return d < 100;
+            case WalkingDistance:
+            {
+                // airports are large but we have no local transport there, so 
the distance threshold needs to be higher there
+                const auto isAirport = JsonLd::isA<Airport>(lhs) || 
JsonLd::isA<Airport>(rhs);
+                return d < (isAirport ? 2000 : 1000);
+            }
             case CityLevel:
                 return d < 50000;
                 break;
@@ -246,6 +252,7 @@
     const auto rhsAddr = address(rhs);
     switch (accuracy) {
         case Exact:
+        case WalkingDistance:
             if (!lhsAddr.streetAddress().isEmpty() && 
!lhsAddr.addressLocality().isEmpty()) {
                 return  lhsAddr.streetAddress() == rhsAddr.streetAddress() && 
lhsAddr.addressLocality() == rhsAddr.addressLocality();
             }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.12.1/src/locationutil.h 
new/kitinerary-19.12.2/src/locationutil.h
--- old/kitinerary-19.12.1/src/locationutil.h   2020-01-06 18:14:09.000000000 
+0100
+++ new/kitinerary-19.12.2/src/locationutil.h   2020-02-04 00:37:43.000000000 
+0100
@@ -68,7 +68,8 @@
 /** Location comparison accuracy. */
 enum Accuracy {
     Exact, ///< Locations match exactly
-    CityLevel ///< Locations are in the same city
+    CityLevel, ///< Locations are in the same city
+    WalkingDistance, ///< Locations are close enough together to not need 
transportation
 };
 
 /** Returns @c true if the given locations are the same.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kitinerary-19.12.1/src/mergeutil.cpp 
new/kitinerary-19.12.2/src/mergeutil.cpp
--- old/kitinerary-19.12.1/src/mergeutil.cpp    2020-01-06 18:14:09.000000000 
+0100
+++ new/kitinerary-19.12.2/src/mergeutil.cpp    2020-02-04 00:37:43.000000000 
+0100
@@ -102,7 +102,10 @@
         if (conflictIfPresent(lhsTicket.ticketedSeat().seatNumber(), 
rhsTicket.ticketedSeat().seatNumber(), Qt::CaseInsensitive)) {
             return false;
         }
-        if (conflictIfPresent(lhsTicket.ticketTokenData(), 
rhsTicket.ticketTokenData())) {
+        // flight ticket tokens (IATA BCBP) can differ, so we need to compare 
the relevant bits in them manually
+        // this however happens automatically as they are unpacked to other 
fields by post-processing
+        // so we can simply skip this here for flights
+        if (!JsonLd::isA<FlightReservation>(lhs) && 
conflictIfPresent(lhsTicket.ticketTokenData(), rhsTicket.ticketTokenData())) {
             return false;
         }
     }


Reply via email to