PublicTransport

Plasma 4 Widgets

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net

60
Score 85.2%
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:

6 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)

markwege

7 years ago

now has realtime-information at least for transports within Bremen, may be also other cities. Could this funktionality be updated?

Report

C

fpuelz

7 years ago

If they would have a GTFS feed with GTFS-realtime it would be very easy now ;) (at least with the development version).

To include delay information and journey news the parsing script needs to be updated accordingly. I'll definitely have a look at it when I have some time.. because I'm living in Bremen ;)
I've written an E-Mail to BSAG (the public transport agency for Bremen) some time ago if they could offer some public API, but no answer so far.

Report

semmelrock

7 years ago

I installed the Ubuntu 64bin package in Kubuntu Oneiric. But if i try to use it, it makes Plasma crash.

Report

C

fpuelz

7 years ago

That packages contains an outdated version: 0.8.3, current stable version is 0.9, next version 0.10 should be released soon.
You can use the installer script (Sources download) to download/compile/install version 0.9 or 0.10rc2.

Report

buschmann23

7 years ago

Since version 1.1 KWebKitPart does not export its header files for external applications.

https://projects.kde.org/projects/extragear/base/kwebkitpart/repository/revisions/1.1/entry/src/CMakeLists.txt

So, Timetablemate can not be compiled on systems with a recent version of KWebKitPart, because it can not find the header files:

Quote:
/usr/src/packages/BUILD/publictransport-0.10_rc1/timetablemate/src/timetablemate.cpp:60:23: fatal error: KWebKitPart: No such file or directory
compilation terminated.


I do not know, why they have removed the header files. Might be because of this?

https://projects.kde.org/news/21

To cut a long story short: I can not compile Timetablemate on recent KDE SC.

Report

C

fpuelz

7 years ago

Thanks for the info :)
It is fixed in Git master now.

The new version does not use KWebKitPart, but uses KWebView directly. The menu bar won't update when switching to the web tab, but everything else should work.

Report

smls

7 years ago

When trying to build from git master, I get the following error (in the "applet" subdir, after having already successfully compiled and installed the "libpublictransporthelper" subdir):

...
[ 87%] Building CXX object CMakeFiles/plasma_applet_publictransport.dir/routegraphicsitem.o
[ 91%] Building CXX object CMakeFiles/plasma_applet_publictransport.dir/stopaction.o
Linking CXX shared module lib/plasma_applet_publictransport.so
CMakeFiles/plasma_applet_publictransport.dir/publictransport.o: In function `PublicTransport::resized()':
/home/sam/src/publictransport/applet/publictransport.cpp:1299: undefined reference to `Plasma::ToolButton* TitleWidget::castedWidget<Plasma::ToolButton>(TitleWidget::WidgetType) const'
collect2: ld returned 1 exit status
make[2]: *** [lib/plasma_applet_publictransport.so] Error 1
make[1]: *** [CMakeFiles/plasma_applet_publictransport.dir/all] Error 2
make: *** [all] Error 2
==> ERROR: A failure occurred in build().
Aborting...

Report

smls

7 years ago

The same error appears when compiling the 0.10 RC1 version with the install script in the "Source" package from this page.

Maybe it's because I'm running a development snapshot of KDE (4.7.41git20110916)?

Report

C

fpuelz

7 years ago

Hi,
it is now fixed in RC2 :) Please test again.
The solution was to replace a "qobject_cast" with "qgraphicsitem_cast".

Report

smls

7 years ago

Yes, it works now, thanks!

Report

Weaselweb

7 years ago

It seems the domain where the Gentoo ebuilds were hosted has been sold. So the URL is broken.

Report

bitcrazy

7 years ago

The source archive misses all subdirectories, except l10n

Report

C

fpuelz

7 years ago

Even l10n does not contain any translations ;)

There is only a script to download the sources from the GIT repository, it can download eg. the last stable version (0.9) or the current 0.10 RC.
The l10n-script can then download translations from KDEs SVN.

I'll make it clear in the README, that there are no sources in the tarball. It's much easier for me this way, because the tarball does not need many changes and I can not forget files or include wrong versions ;) And it's not limited to the size limit on kde-look.org. For users/packagers it should make it easier to test new versions.

Report

cmlr

8 years ago

I just updated to KDE 4.7, and 0.1.0_rc1 crashes plasma-desktop. Deleting configuration files did no good.

Report

C

fpuelz

8 years ago

I also updated to 4.7 and it still doesn't crash here (Kubuntu natty). I can't say more without more information unfortunately.

Report

cmlr

8 years ago

I solved the problem by using a fresh ~/.kde4 file. This means I have to reprogram all my customizations, but the plasmoid is OK.

Report

jenzuslongus

8 years ago

I put the applet into the window bar (german: "Fensterleiste"). When I defined a filter via the settings dialog and afterwards want to change something in the filter the filter seems to be gone. Only after a restart of plasma I can see the filter with my initial definition.

When I add the applet to my workspace (german: "Arbeitsfläche") I can see the filter and I can change the definition.

It looks like the place where the applet is added has some influence on the filter.

Can somebody help on this?

Report

jenzuslongus

8 years ago

Hello, I'm using 0.10_rc1.

Unfortunately I cannot switch the language from english to german although I built the language files. Is this more likely to be a KDE problem or am I simply too blind to find the language configuration?

In a previous version of publictransport one could configure that the alarm message appears some minutes before the departure. I cannot find this option anymore. Can someone tell me where to find that?

Thanks for any help!

Report

C

fpuelz

8 years ago

You cannot switch the language of individual plasmoids (at least not via the GUI).
If there is no up-to-date german translation for a string, english is used. Many strings have been changed and need to be updated now. The applet is currently 60% translated to german (30% fuzzy / changed). That's why it's mostly english currently.

The alarm setting (how many mins before departure) is in the stop settings dialog (click on the "change" button). And in that dialog it's a bit hidden in the details section (there's a "details" button).

Report

jenzuslongus

8 years ago

Thanks for quick reply.

In my first post I forgot to mention that the applet is really great and saves a lot of time looking for the next train.

Report

TheBlackCat

8 years ago

Is there a way to run packagers.sh in a non-interactive mode? That is, set all the options from flags you set when you run it?

Report

C

fpuelz

8 years ago

No, it currently doesn't use any arguments. But I will add it :)

But the essential part of the script is mainly this line to download a single tarball with everything in it:
> git archive --format=tar --remote=git://anongit.kde.org/publictransport $version | gzip > publictransport_${version}.tar.gz (eg. version="unstable-0.10-rc1")

and this line to download a tarball for a specific component:
> git archive --format=tar --prefix=plasma_applet_publictransport/ --remote=git://anongit.kde.org/publictransport unstable-0.10-rc1:applet | gzip > plasma_applet_publictransport-0.10rc1.tar.gz (prefix is the name of the root directory inside the tarball, for another component/version the "unstable-0.10-rc1:applet" must be changed, eg. "unstable-0.10-rc1:engine" for the data engine)

Report

felixlen

8 years ago

Hi,

I'm trying to build the widget using 64bit Debian testing. However 'make' of libpublictransporthelper fails with error message
Quote:Linking CXX executable PublicTransportHelperTest
/usr/bin/ld: CMakeFiles/PublicTransportHelperTest.dir/PublicTransportHelperTest.o: undefined reference to symbol 'Plasma::DataEngineManager::self()'
/usr/bin/ld: note: 'Plasma::DataEngineManager::self()' is defined in DSO /usr/lib64/libplasma.so.3 so try adding it to the linker command line
/usr/lib64/libplasma.so.3: could not read symbols: Invalid operation
collect2: ld returned 1 exit status

Can anybody help me?

Report

C

fpuelz

8 years ago

I might have found the solution. Please try this:
- Open publictransport-git-clone-dir/libpublictransporthelper/tests/CMakeLists.txt
- Search for lines like this (one for PublicTransportHelperTest, one for PublicTransportHelperGuiTest):
target_link_libraries( PublicTransportHelper(Gui)Test
${KDE4_KDECORE_LIBS} ${QT_QTTEST_LIBRARY} ${KDE4_KDEUI_LIBS} publictransporthelper
)

- Add ${KDE4_PLASMA_LIBS} so that it looks like this:
target_link_libraries( PublicTransportHelper(Gui)Test
${KDE4_KDECORE_LIBS} ${QT_QTTEST_LIBRARY} ${KDE4_KDEUI_LIBS} ${KDE4_PLASMA_LIBS} publictransporthelper
)

I didn't notice, because it compiled just fine in Kubuntu natty.

Or disable unit test compilation, by removing this line from .../libpublictransporthelper/CMakeLists.txt
add_subdirectory( tests )
The unit tests aren't needed for eg. packages of course, I'll comment out that line so that it simply works. If someone then wants to run the tests, he/she just needs to remove the comment.

Report

felixlen

8 years ago

Great, that's it. Same story appears in applet/tests/CMakeLists.txt .

Thank you!

Report

6 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)

12345678910
141
product-maker mirkogennari Jan 15 2017 9 excellent
product-maker matafleur Apr 08 2015 9 excellent
product-maker Soru Jun 07 2014 9 excellent
product-maker MatthiasM Mar 18 2013 9 excellent
product-maker lei00 Feb 25 2013 9 excellent
product-maker meyerm Oct 12 2012 9 excellent
product-maker djselbeck Dec 30 2011 9 excellent
product-maker vortex375 Nov 12 2011 9 excellent
product-maker Rando25 Nov 10 2011 9 excellent
product-maker Eol Nov 07 2011 9 excellent
product-maker nikore90 Oct 18 2011 9 excellent
product-maker warrob Sep 15 2011 9 excellent
product-maker quippini Aug 11 2011 9 excellent
product-maker jenzuslongus Jul 29 2011 9 excellent
product-maker tobaj Jul 22 2011 9 excellent
product-maker thrawn Jul 10 2011 9 excellent
product-maker mschu Mar 30 2011 9 excellent
product-maker Vistausss Mar 27 2011 9 excellent
product-maker Genserowski Mar 26 2011 9 excellent
product-maker roadracer Mar 11 2011 9 excellent
product-maker terwarf Mar 09 2011 9 excellent
product-maker FollowByWhiteRabbit Mar 04 2011 9 excellent
product-maker FraSMOG Mar 04 2011 9 excellent
product-maker terrorbaby92 Mar 03 2011 9 excellent
product-maker vkmaheshbhat Feb 28 2011 9 excellent
product-maker misiakdurko Feb 27 2011 9 excellent
product-maker FSchulz Feb 26 2011 9 excellent
product-maker nsaibot Feb 17 2011 9 excellent
product-maker Vzlom Feb 16 2011 9 excellent
product-maker nisavid Feb 12 2011 9 excellent
product-maker flanello Feb 06 2011 9 excellent
product-maker kovariadam Feb 06 2011 9 excellent
product-maker momonster Feb 06 2011 9 excellent
product-maker Weaselweb Feb 05 2011 9 excellent
product-maker Ireyon Feb 02 2011 9 excellent
product-maker vitoubien Feb 01 2011 3 bad
product-maker Finswimmer Jan 30 2011 9 excellent
product-maker EliasP Jan 19 2011 9 excellent
product-maker fixu Dec 16 2010 9 excellent
product-maker PyroLinux Nov 08 2010 9 excellent
product-maker thecrazyzorro Oct 30 2010 9 excellent
product-maker Dieter-MZ Oct 06 2010 9 excellent
product-maker Count: 4 Rating: 5.0

simgunz

Sep 29 2014

vortex375

Nov 12 2011

hoderlump

Nov 05 2011

tobaj

Oct 18 2011

jenzuslongus

Aug 03 2011

dyn0saur

Jun 03 2011

Naraku

Apr 16 2011

m00nraker

Mar 22 2011

terwarf

Mar 09 2011

nsaibot

Feb 16 2011

flanello

Feb 06 2011

rgreinhofer

Feb 04 2011

EliasP

Jan 19 2011

thecrazyzorro

Oct 30 2010

eikel

Jul 29 2010

rickdesantis

Jun 13 2010

thomasjfedora

May 24 2010

elric80

May 13 2010

sadiqhuq

Apr 06 2010

Rerghar

Mar 30 2010

balevas01

Mar 19 2010

poelzi

Feb 25 2010

lordlukas

Feb 16 2010

dtritscher

Feb 14 2010

H1bakusha

Feb 10 2010

msledziona

Feb 07 2010

Bottom-Egg

Feb 05 2010

nicodietrich

Jan 21 2010

knilch

Jan 20 2010

markum

Jan 02 2010

smihael

Dec 30 2009

Kummerpaule

Sep 29 2009

dixiecko

Aug 14 2009

weatherman

Aug 09 2009

JanMalte

Aug 09 2009

Hantilles

Aug 05 2009

kovariadam

Jul 29 2009

lokdp

Jul 28 2009

EinfachToll

Jul 28 2009

AndiBauer

Jul 26 2009

takanowaka

Jul 25 2009

poppei82

Jul 18 2009

frankbrian25

Jul 13 2009

alvanx

Jul 10 2009

Boccaccio

Jul 05 2009

Podstavsky

Jul 03 2009

painkiller101

Jun 26 2009

vejha

Jun 23 2009

buschmann23

Jun 19 2009

gravy

Jun 18 2009

pano

Jun 18 2009

k3ks

Jun 17 2009

Finswimmer

Jun 17 2009

Frank

Jun 16 2009

dejazmach

Jun 16 2009

jalpaka

Jun 15 2009

radecz3k

Jun 15 2009

Vistausss

Jun 14 2009

ZdadrDeM

Jun 13 2009
File (click to download) Version Description Downloads Date Filesize DL OCS-Install
Pling
*Needs ocs-url or ocs-store to install things
Details
license
version
0.11 beta
updated Jan 17 2013
added Jun 03 2009
downloads 24h
0
page views 24h 20