PublicTransport
Plasma 4 Widgets
Score 92%
Description:

This is a Plasma data engine, applet and runner for public transport timetable data. The applet shows a departure/arrival board for a given stop. It can also show journeys to or from the given "home stop". It displays additional information like delays, news about journeys, routes, vehicle types (with icons). Timetable data is available for trams, buses, subway, trains, ferries and planes (using flightstats.com). You can set alarms for departures and filter departures (by type of vehicle, target/origin, delay, transport line string/number, intermediate stops). Filters can also be combined.
Timetable data gets received from provider plugins. Since version 0.11 there are two types of plugins: GTFS and script providers. Script providers need a network connection and can be used to read timetable data from any document type, eg. XML, binary or HTML. GTFS providers only need to import the GTFS feed once and can then be used offline (but a network connection can be used for GTFS-realtime).

My Blog: http://fpuelz-kde.blogspot.com/
PublicTransport on UserBase: http://userbase.kde.org/Plasma/Public_Transport
PublicTransport on KDE projects: https://projects.kde.org/projects/playground/base/publictransport
PublicTransport on ohloh.net: https://www.ohloh.net/p/publicTransport

You can donate me ;)

News
17.01.2013: Version 0.11 beta released
30.12.2012: Version 0.11 alpha 2 released
04.12.2012: Version 0.11 alpha released

Installation
To install PublicTransport download a package for your distribution. If there is no such package you can ask the appropriate packagers for your distribution to create one. Please leave a comment if a new package is created or if you use a package not mentioned in the download list here, so that I can add it.
If you want to install PublicTransport, but there are no packages available for you (yet?) or you want to try the newest version with no new package yet, you can use the installer script (install.sh) included in the Sources download.
But note that software installed with that installer script isn't managed by your package manager in any way and may produce conflicts with installed packages, eg. if PublicTransport is already installed via the package manager. The script should be quite easy to use and also lets you uninstall the software again. You need GIT to use the installer, because the sources are actually downloaded using GIT by the script (from git://anongit.kde.org/publictransport).

There's also a script for packagers, that can download tarballs for all PublicTransport components for a specific version.
You can clone the GIT repository from git://anongit.kde.org/publictransport (read only), which also clones all history. From your local clone of the repository you can checkout all tagged versions (see the HINTS_FOR_PACKAGE_MAINTAINERS file).
If you want to contribute code, you need a KDE account and you can clone the repository with SSH from this URL: git@git.kde.org:publictransport (read + write). You can of course also send me patches via email.

Note: The Sources tarball does not contain the sources, but a script to download them from it's GIT repository and the translations from KDE's SVN. The script asks for the version to compile and install.

Adding a Service Provider Plugin
- Install TimetableMate, maybe not included in the packages, but in the source archive.
- The filenames start with the country code, followed by "_" and an abbreviation of the service provider, e.g. "ch_sbb" for switzerland, service provider "SBB".
- You can test your script and the URLs with TimetableMate. It also offers syntax completion with documentation and templates for the parser functions, that get called by the data engine.
- Also works for GTFS providers
- After installation of your plugin you can open the configuration dialog of the public transport applet and the new provider should be in there.
- You can also open/edit existing providers by simply clicking "Open in TimetableMate..." in the provider data dialog (accessible from the configuration dialog).
- Checkout the documentation of the data engine, it contains much information about the data sources of the engine and how to create new provider plugins.

You are welcome to optimize the scripts in the existing providers in the "serviceProviders" directory in the data engine source directory.

Comments are appreciated.
Last changelog:

5 years ago

17.01.2013:
(version 0.11 beta)
Many crash/bug fixes, visual polishing, see http://fpuelz-kde.blogspot.de/. (The install.sh script is actually unchanged, just select the new version)

30.12.2012:
(version 0.11 alpha 2)
Providers are now hosted on openDesktop.org, download via GHNS, many fixes etc. See http://fpuelz-kde.blogspot.de/. (The install.sh script is actually unchanged, just select the new version)

04.12.2012:
(version 0.11 alpha)
Many improvements, new features, GTFS support, etc. See http://fpuelz-kde.blogspot.de/.
Update: Improved install script, automatically select latest version for installation, show available versions sorted by date, allow switching to another version when starting the script again with the repository already cloned
Update 2: Allow selecting git HEAD for installation again (the script shows Current_Development_Version for it), HEAD contains a fix for building with GTFS support but without protocol buffers installed

18.10.2011:
(version 0.10 RC2)
Applet:
- Fix link errors
- Fix memory leaks
- Fix applet collapsing to popup icon in desktop
- Drawing performance improvements
- Use of KPixmapCache for vehicle type icons
- New monochrome icons, shown in the popup icon
- Add possibility to put the applet into the notification area
- Better layout adjustments for small sizes
- Change applet tooltip according to current departure group in popup icon
- Shorter alarm names, alarm names in notifications
- Nicer alarm background
- Fix color groups and route time display for arrivals
TimetableMate:
- Fix for missing KWebKitPart include file, it now uses KWebView directly
Library:
- Fix a crash with GraphicalTimetableLine (missing null pointer check)

stakanov

3 years ago

Gives:SNBS provider not found. German Railway instead works as expected. So it is not a problem of the plasmoid but of the feed of the provider.
Using the plasmoid from the opensuse 13.1 repo.

Thank you for your effort and work. So you do not think that this is a critizism. Marvelous plasmoid with a lot of potential. I wish it would have also the STIB timetable for Brussels.
http://www.stib-mivb.be/index.htm?l=fr
But I know that all these providers for some strange reasons do not love collaboration right?

Report

Naraku

3 years ago

I definet several filters. After saving they work as expected. But when I go back to the settings menu, not a single filter is shown (although they are still working). After pressing ok, they disappear completely and stop working.

I'm using the 0.11 beta.

Report

mistermaulwurf

4 years ago

v0.11-beta: Building the plasmoid alone works fine, but when I try to build with -DINSTALL_TIMETABLEMATE=ON, the build always exits with this error:

[ 36%] Built target timetablemate_automoc
[ 37%] Generating javascriptcompletiongeneric.h, javascriptcompletiongeneric.cpp, index.html, helper.html, network.html, networkrequest.html, resultobject.html, storage.html, datastreamprototype.html, enums.html, default.css
The input file (--input_script) does not exist: ../../../../engine/script/scriptapi.h
/bin/sh: Zeile 1: 5471 Abgebrochen (Speicherabzug geschrieben) ../completiongenerator/completiongenerator --out_completion /home/sepp/publictransport-plasmoid/src/engine/timetablemate/src --out_doc /home/sepp/publictransport-plasmoid/src/engine/timetablemate/src
make[2]: *** [engine/timetablemate/src/javascriptcompletiongeneric.h] Fehler 134
make[1]: *** [engine/timetablemate/src/CMakeFiles/timetablemate.dir/all] Fehler 2
make: *** [all] Fehler 2

I can't find the source of this error. Can someone please help me?

Report

mistermaulwurf

4 years ago

I got it: the hardcoded paths in completiongenerator/main.cpp were wrong.

changing the paths from "../../../../foo" to "../../../foo" works

Report

EliasP

5 years ago

When clicking on "Configure...", I just see the message "Cannot import script extension qt" in the "Stop" input field.

Any idea what could be missing? I've built it with marble + protobuf support and without GPS support.

Using KDE 4.9.97 (4.10 RC2) and Qt 4.8.4.

Also: Could you provide also just a regular source tarball instead of/additional to the script? This would make it much easier for source based distributions such as Gentoo to package it and I assume the same goes for binary distributions with automated toolchains for packaging.

Report

C

fpuelz

5 years ago

You need the Qt bindings for QtScript. On openSuse the package is called qt4-qtscript.

You can get a tarball in a one-liner (see HINTS_FOR_PACKAGE_MAINTAINERS file):
> git archive --format=tar --remote=git://anongit.kde.org/publictransport unstable-0.11-beta | gzip > publictransport_unstable-0.11-beta.tar.gz

It's just too big to upload it here.

Git should be easy to integrate into automated build processes, eg. openBuildService can download sources from git repositories as far as I know.

Report

EliasP

5 years ago

Quote:You need the Qt bindings for QtScript. On openSuse the package is called qt4-qtscript.

I have qt-script-4.8.4 installed, that's why I was wondering why it fails.

Report

C

fpuelz

5 years ago

qt-script in Gentoo seems to only contain the QtScript module ("The ECMAScript module for the Qt toolkit"). This is also needed of course.

But it seems that you need the package qtscriptgenerator in Gentoo. In openSuse the bindings are in the package qt4-qtscript with description "Qt bindings generator for Qt Script", ie. it is different from qt-script in Gentoo.

Report

EliasP

5 years ago

I installed qtscriptgenerator-0.2.0, restarted KDE but it's unfortunately still the same situation as before.

Do you have any other idea what could be wrong?

Report

truffing

3 years ago

I had the same error message and installing qtscript did not help at first glance.
But I finally got it working by deleting ~/.kde4/share/apps/plasma_engine_publictransport. It seems that the error state is saved to disk...

Report

Tumsa

5 years ago

Hi,
I tried to install this using the install.sh script but no matter what components I want to install I keep getting this error:

In file included from /home/aer/Downloads/publictransport/publictransport/build/libpublictransporthelper/moc_serviceproviderdatadialog.cpp:10:0,
from /home/aer/Downloads/publictransport/publictransport/build/libpublictransporthelper/publictransporthelper_automoc.cpp:8:
/home/aer/Downloads/publictransport/publictransport/build/libpublictransporthelper/../../libpublictransporthelper/serviceproviderdatadialog.h:55:5: error: a class-key must be used when declaring a friend
/home/aer/Downloads/publictransport/publictransport/build/libpublictransporthelper/../../libpublictransporthelper/serviceproviderdatadialog.h:55:5: error: friend declaration does not name a class or function
/home/aer/Downloads/publictransport/publictransport/build/libpublictransporthelper/../../libpublictransporthelper/serviceproviderdatadialog.h:56:5: error: a class-key must be used when declaring a friend
/home/aer/Downloads/publictransport/publictransport/build/libpublictransporthelper/../../libpublictransporthelper/serviceproviderdatadialog.h:56:5: error: friend declaration does not name a class or function
/home/aer/Downloads/publictransport/publictransport/build/libpublictransporthelper/../../libpublictransporthelper/serviceproviderdatadialog.h:128:5: error: a class-key must be used when declaring a friend
/home/aer/Downloads/publictransport/publictransport/build/libpublictransporthelper/../../libpublictransporthelper/serviceproviderdatadialog.h:128:5: error: friend declaration does not name a class or function
make[2]: *** [libpublictransporthelper/CMakeFiles/publictransporthelper.dir/publictransporthelper_automoc.o] Error 1
make[1]: *** [libpublictransporthelper/CMakeFiles/publictransporthelper.dir/all] Error 2
make: *** [all] Error 2


Any ideas what's wrong with my machine?

Report

C

fpuelz

5 years ago

Pedantic warnings are turned on on your machine and are treated as errors, eg. with -pedantic-errors compiler flag. You should try to disable that flag to compile.
Or update to the current development version, I've just fixed the warnings in GIT.

Report

Tumsa

5 years ago

Thanks, I tried to install the current development version with the install script and I'm not getting that error anymore.
But I'm getting a new error. :)
CMakeFiles/plasma_engine_publictransport.dir/gtfs-realtime.pb.o: In function `GoogleOnceInit':
/usr/include/google/protobuf/stubs/once.h:115: undefined reference to `pthread_once'
/usr/include/google/protobuf/stubs/once.h:115: undefined reference to `pthread_once'
/usr/include/google/protobuf/stubs/once.h:115: undefined reference to `pthread_once'
/usr/include/google/protobuf/stubs/once.h:115: undefined reference to `pthread_once'
/usr/include/google/protobuf/stubs/once.h:115: undefined reference to `pthread_once'
CMakeFiles/plasma_engine_publictransport.dir/gtfs-realtime.pb.o:/usr/include/google/protobuf/stubs/once.h:115: more undefined references to `pthread_once' follow
collect2: ld gab 1 als Ende-Status zurück
make[2]: *** [lib/plasma_engine_publictransport.so] Fehler 1
make[1]: *** [engine/CMakeFiles/plasma_engine_publictransport.dir/all] Fehler 2
make: *** [all] Fehler 2

I'm not sure but from googling I think it's just a matter of adding -pthread somewhere but I'm not a C/C++ programmer so I don't know where. :)
Sorry for the trouble, I thought I had a pretty standard Ubuntu 12.04 installation. :/

Report

C

fpuelz

5 years ago

Could be.. It links to pthread for TimetableMate but not for the data engine. Can you try to modify a line in publictransport/engine/CMakeLists.txt?
Change line 131 from

set( LIBS ${LIBS} ${PROTOBUF_LIBRARY} )

to

set( LIBS ${LIBS} ${PROTOBUF_LIBRARY} pthread )

If that works I'll fix it. Not sure why it works for me, though.

Report

Tumsa

5 years ago

It works, thank you!

Report

C

fpuelz

5 years ago

Great :) Fixed in git HEAD.

Report

cmlr

5 years ago

While compiling engine, I get the following error, and then compile fails.

/home/carl/Downloads/Public-Transport/kdeplasma-applets-publictransport/src/engine/gtfs/gtfsrealtime.cpp:22:30: fatal error: gtfs-realtime.pb.h: No such file or directory

Report

C

fpuelz

5 years ago

When I try to build from a fresh git clone, it works. Probably you are missing needed headers for Google protocol buffer? The file your build is complaining about gets generated using protobuf.

Report

cmlr

5 years ago

Thanks, that solved the problem!

Report

cmlr

5 years ago

But now that it's built, it doesn't respond when I click on "city" to search for a transportation network.

Report

C

fpuelz

5 years ago

..what "city" do you mean? The transportation network gets chosen as "Service Provider" in the applet. A "City:" field is currently only used for cz_idnes, are you using this?

Report

cmlr

5 years ago

Sorry, I meant "country" and "service provider". Neither field responds to clicks.

Report

cmlr

5 years ago

For the benefit of others, this has now been fixed in the development version.

Report

robsn81

5 years ago

only with -DBUILD_PROVIDER_TYPE_GTFS=OFF I get a successful build under ubuntu raring having all build deps installed.

Report

C

fpuelz

5 years ago

What is the error message?
If all build deps are installed, cmake succeeds, but make fails? It may help to cleanup the build directory after changing eg. BUILD_PROVIDER_TYPE_GTFS.

Report

5 years ago

17.01.2013:
(version 0.11 beta)
Many crash/bug fixes, visual polishing, see http://fpuelz-kde.blogspot.de/. (The install.sh script is actually unchanged, just select the new version)

30.12.2012:
(version 0.11 alpha 2)
Providers are now hosted on openDesktop.org, download via GHNS, many fixes etc. See http://fpuelz-kde.blogspot.de/. (The install.sh script is actually unchanged, just select the new version)

04.12.2012:
(version 0.11 alpha)
Many improvements, new features, GTFS support, etc. See http://fpuelz-kde.blogspot.de/.
Update: Improved install script, automatically select latest version for installation, show available versions sorted by date, allow switching to another version when starting the script again with the repository already cloned
Update 2: Allow selecting git HEAD for installation again (the script shows Current_Development_Version for it), HEAD contains a fix for building with GTFS support but without protocol buffers installed

18.10.2011:
(version 0.10 RC2)
Applet:
- Fix link errors
- Fix memory leaks
- Fix applet collapsing to popup icon in desktop
- Drawing performance improvements
- Use of KPixmapCache for vehicle type icons
- New monochrome icons, shown in the popup icon
- Add possibility to put the applet into the notification area
- Better layout adjustments for small sizes
- Change applet tooltip according to current departure group in popup icon
- Shorter alarm names, alarm names in notifications
- Nicer alarm background
- Fix color groups and route time display for arrivals
TimetableMate:
- Fix for missing KWebKitPart include file, it now uses KWebView directly
Library:
- Fix a crash with GraphicalTimetableLine (missing null pointer check)

product-maker vistaus Jan 09 2018

product-maker mirkogennari Jan 15 2017

product-maker matafleur Apr 08 2015

product-maker Soru Jun 07 2014

product-maker MatthiasM Mar 18 2013

product-maker lei00 Feb 25 2013

product-maker meyerm Oct 12 2012

product-maker djselbeck Dec 30 2011

product-maker vortex375 Nov 12 2011

product-maker Rando25 Nov 10 2011

product-maker Eol Nov 07 2011

product-maker nikore90 Oct 18 2011

product-maker warrob Sep 15 2011

product-maker quippini Aug 11 2011

product-maker jenzuslongus Jul 29 2011

product-maker tobaj Jul 22 2011

product-maker thrawn Jul 10 2011

product-maker mschu Mar 30 2011

product-maker Vistausss Mar 27 2011

product-maker Genserowski Mar 26 2011

product-maker roadracer Mar 11 2011

product-maker terwarf Mar 09 2011

product-maker FraSMOG Mar 04 2011

product-maker terrorbaby92 Mar 03 2011

product-maker vkmaheshbhat Feb 28 2011

product-maker misiakdurko Feb 27 2011

product-maker FSchulz Feb 26 2011

product-maker nsaibot Feb 17 2011

product-maker Vzlom Feb 16 2011

product-maker nisavid Feb 12 2011

product-maker flanello Feb 06 2011

product-maker kovariadam Feb 06 2011

product-maker momonster Feb 06 2011

product-maker Weaselweb Feb 05 2011

product-maker Ireyon Feb 02 2011

product-maker vitoubien Feb 01 2011

product-maker Finswimmer Jan 30 2011

product-maker EliasP Jan 19 2011

product-maker fixu Dec 16 2010

product-maker PyroLinux Nov 08 2010

product-maker thecrazyzorro Oct 30 2010

product-maker Dieter-MZ Oct 06 2010

product-maker 11 156

File (click to download) Version Description Filetype Packagetype License Downloads Date Filesize OCS-Install DL
Details
version
0.11 beta
updated Jan 17 2013
added Jun 03 2009
downloads today
0
page views today 22