Commit 6ba7edcd authored by Volker Krause's avatar Volker Krause
Browse files

Add Air Baltic boarding pass extractor

parent 6075f899
/*
Copyright (c) 2018 Volker Krause <vkrause@kde.org>
This library 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 library 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 Library General Public License
along with this library; see the file COPYING.LIB. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
*/
function main(pdf) {
var result = new Array();
for (var i = 0; i < pdf.pageCount; ++i) {
var page = pdf.pages[i];
var images = page.imagesInRect(0, 0, 0.3, 0.2);
for (var j = 0; j < images.length; ++j) {
var bcbp = Barcode.decodePdf417(images[j]);
if (!bcbp)
continue;
var res = JsonLd.newObject("FlightReservation");
res.reservationFor = JsonLd.newObject("Flight");
res.reservedTicket = JsonLd.newObject("Ticket");
res.reservedTicket.ticketToken = "aztecCode:" + bcbp;
var time = page.text.match(/Boarding\s+(\d{1,2}.\d{1,2}.\d{4})[\s.]+?(\d{2}:\d{2})/);
if (time)
res.reservationFor.boardingTime = JsonLd.toDateTime(time[1] + time[2], "dd.MM.yyyyhh:mm", "en")
time = page.text.match(/Arr. terminal\s+(\d{2}:\d{2})\s+(\d{2}:\d{2})/);
if (time) {
res.reservationFor.departureTime = JsonLd.toDateTime("1970-01-01 " + time[1], "yyyy-MM-dd hh:mm", "en")
res.reservationFor.arrivalTime = JsonLd.toDateTime("1970-01-01 " + time[2], "yyyy-MM-dd hh:mm", "en")
}
result.push(res);
break;
}
}
return result;
}
{
"type": "pdf",
"filter": [ { "header": "From", "match": "@airbaltic.com" } ],
"script": "airbaltic.js"
}
<RCC>
<qresource prefix="/org.kde.pim/kitinerary/extractors">
<file>airbaltic.json</file>
<file>airbaltic.js</file>
<file>amadeus.json</file>
<file>amadeus.js</file>
<file>americanairlines.json</file>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment