Funktionierende ÖBB iCalendar Dateien

Mit der ÖBB verbindet mich ein längerer „Dialog” bezüglich deren iCalendar Files, die generiert werden, wenn mensch ein Zugticket online kauft. Eigentlich eine super Sache, kann man doch die Zugfahrt so gleich in den digitalen Kalender der (persönlichen) Wahl importieren.

Wenn, ja wenn, da nicht die agilen Fullstack EntwicklerInnen und die QA-Abteilung der ÖBB wären. Die Test(tet)en diese iCalendar Dateien anscheinend ausschließlich mit Microsofts Outlook, was ja quasi jede Datei akzeptiert, die auch nur wage an eine iCalendar Datei erinnert. Mit einem etwas standardkonformeren Kalender-Client sah das Ergebnis dann so aus:

Screenshot 1 ical Errors

Seit November 2018 hatten die EntwicklerInnen aber nachgelegt – der Wasserfall dürfte aufgetaut sein – und die neu generierten Dateien sind nun schon deutlich RFC konformer:

Screenshot 2 ical Errors

Für die noch fehlenden Reperaturarbeiten – korrekte Zeilenumbrüche und Entfernen des BOM – hab ich ein kleines Script plus einer dazugehörigen „Nemo Action” erstellt, die ich mit Euch teilen möchte. Alles gibt es auf meinem brandneuen Gitlab Account.

#!/usr/bin/env bash
# Fix the ÖBB iCalendar files by replacing the LF with RFC conforming CRLF
# and removing the UTF-8 BOM
# See the thread at https://twitter.com/leyrer/status/1127989818510721024
# 
# Place script into ~/bin and make executable
 
for ics in "$@"
do
    # echo "Working on ${ics}"
    filename=$(basename -- "$ics")
    extension="${filename##*.}"
    filename="${filename%.*}"
    target="${filename} fixed.${extension}"
    # fix LF to RFC conforming CRLF and remove UTF-8 BOM
    sed ':a;N;$!ba;s/\n/\r\n/g' <"${ics}" | sed '1s/^\xEF\xBB\xBF//' > "${target}"
    # echo "Done."
done

Tagged as: , , | Author:
[Mittwoch, 20190605, 21:35 | permanent link | 1 Kommentar(e)

Moin Martin,

1) fix shebang auf "bash"
2) sed -e ':a;N;$!ba;s/\n/\r\n/g' -e '1s/^\xEF\xBB\xBF//' "${ics}" > "${target}"

Mit 2) solltest Du zum gleichen Ergebis kommen.

just my 2 ct

- f4m8

Comments are closed for this story.


Disclaimer

„Leyrers Online Pamphlet“ ist die persönliche Website von mir, Martin Leyrer. Die hier veröffentlichten Beiträge spiegeln meine Ideen, Interessen, meinen Humor und fallweise auch mein Leben wider.
The postings on this site are my own and do not represent the positions, strategies or opinions of any former, current or future employer of mine.

Me, Elsewhere

Tag Cloud

2007, 2blog, 2do, 2read, a-trust, a.trust, a1, accessability, acta, advent, age, ai, amazon, ankündigung, apache, apple, audio, austria, backup, barcamp, basteln, bba, big brother awards, birthday, blog, blogging, book, books, browser, Browser_-_Firefox, bruce sterling, buch, bürgerkarte, cars, cartoon, ccc, cfp, christmas, cloud, coding, collection, command line, commandline, computer, computing, concert, conference, copyright, covid19, css, database, date, datenschutz, debian, delicious, demokratie, design, desktop, deutsch, deutschland, dev, developer, development, devops, digitalks, dilbert, disobay, dna, dns, Doctor Who, documentation, domino, Domino, Douglas Adams, download, downloads, drm, dsk, dvd, e-card, e-government, e-mail, e-voting, E71, education, Ein_Tag_im_Leben, elga, email, encryption, essen, EU, eu, event, events, exchange, Extensions, fail, fedora, feedback, film, firefox, flash, flightexpress, food, foto, fsfe, fun, future, games, gaming, geek, geld, git, gleichberechtigung, google, graz, grüne, grüninnen, hack, hacker, handtuch, handy, hardware, HHGTTG, history, how-to, howto, hp, html, humor, ibm, IBM, ical, iCalendar, image, innovation, intel, internet, internet explorer, iot, iphone, ipod, isp, it, IT, itfails, itfailsAT, itfailsDE, java, javascript, job, jobmarket, journalismus, keyboard, knowledge, konzert, language, laptop, law, lego, lenovo, life, links, Linux, linux, linuxwochen, linuxwochenende, live, living, lol, london, lost+found, Lotus, lotus, Lotus Notes, lotus notes, lotusnotes, LotusNotes, lotusphere, Lotusphere, Lotusphere2006, lotusphere2007, Lotusphere2008, lotusphere2008, lustig, m3_bei_der_Arbeit, mac, mail, marketing, mathematik, media, medien, metalab, microsoft, Microsoft, mITtendrin, mobile, mood, motivation, movie, mp3, multimedia, music, musik, männer, nasa, nerd, netwatcher, network, netzpolitik, news, nokia, notes, Notes, Notes+Domino, office, online, OOXML, open source, openoffice, opensource, orf, orlando, os, outlook, patents, pc, pdf, performance, perl, personal, php, picture, pictures, podcast, politics, politik, pr, press, presse, privacy, privatsphäre, productivity, programming, protest, public speaking, qtalk, quintessenz, quote, quotes, radio, rant, recherche, recht, release, review, rezension, rip, rss, science, search, security, server, settings, sf, shaarli, Show-n-tell thursday, sicherheit, silverlight, smtp, SnTT, social media, software, sony, sound, space, spam, sprache, spö, ssh, ssl, standards, storage, story, stupid, summerspecial, sun, surveillance, sysadmin, talk, talks, technology, The Hitchhikers Guide to the Galaxy, theme, think, thinkpad, thunderbird, tip, tipp, tools, topgear, torrent, towel, Towel Day, TowelDay, travel, truth, tv, twitter, ubuntu, ui, uk, unix, update, usa, usb, vds, video, videoüberwachung, vienna, vim, Vim, vintage, vista, vorratsdatenspeicherung, vortrag, wahl, wcm, web, web 2.0, web2.0, Web20, web20, webdesign, werbung, wien, wiener linien, wikileaks, windows, windows 7, wired, wishlist, wissen, Wissen_ist_Macht, wlan, work, workshops, wow, writing, wtf, wunschzettel, Wunschzettel, www, xbox, xml, xp, zensur, zukunft, zune, österreich, övp, übersetzung, überwachung

AFK Readinglist