PublicTransport

Plasma 4 Extensions

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
8.5
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: [email protected]: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:

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

C

fpuelz

10 years ago

I asked Finswimmer to update the ebuild.

If he doesn't (no time or whatever) maybe someone else can make a new ebuild?

Report

9

Finswimmer

10 years ago

I am working on it :)

Report

9

Finswimmer

10 years ago

Done.
Please try it.

Tobi

Report

9

meyerm

10 years ago

*bump* ;-)

Thank you for ebuild'ing - makes it much more convenient!

Report

9

Finswimmer

10 years ago

Updated

Report

C

fpuelz

10 years ago

Great thanks!
(but can't test it here ;))

Report

takanowaka

10 years ago

when you click button in upper-left corner few times following happens http://img65.imageshack.us/img65/5971/snapshot06.png

Report

takanowaka

10 years ago

i love this idea ;) after playing with it for a while i realized it would be nice if there was possibility to set something like current "First Departure" for each stop in each bus stop set separately

what i want to get is set of Stop 1 with Stop 2 (distance between Stop 1 and Stop 2 is for example 30 mins) and to see it ordered
bus_78_(on_Stop_1)_____now
tram_9_(on_Stop_2)_____2_mins_+30*
tram_8_(on_Stop_2)_____10_mins_+30*
bus_87_(on_Stop 1)_____15_mins
etc
* +30 is the distance between stops; and things in brackects don't have to be visible ;)
so basicly i get my own real time travel planner ;)

Report

C

fpuelz

10 years ago

The combined view of departures for multiple stops is meant to be used for stops that are very near to each other, ie. stops that are virtually one stop (but with different names). ..and I can't think of a nice way to make it possible to set the first departure time for each stop of each combined stop setting. If you want to see departures of two stops that are eg. 30 mins apart from one another you'll have to use two applets or switch between the two stops in one applet.. sorry
But I will make the first departure and alarm time settable independently for each stop.

Report

takanowaka

10 years ago

no problem.. the core is setting departure time for each stop and that will be possible ;)

btw i have 2 stops near me and i was using combined view for them.. but with those sets i realized that it is less important for me to see all departures.. i'd rather see departures sorted by target destination with all interchanges.. and with new filtering system and first departure time it will be possible ;) i'll prolly fill one virtual desktop with PT applets just to test this idea ;)

and sry for spamming and long posts.. but i'm kind of bored for too long :p

Report

takanowaka

10 years ago

and i think possibility to set different alarm time for each bus stop set would be good idea

Report

trueg

10 years ago

Cannot say anything about the applet yet. Only installed - not tested yet.

But: here I have a compile fix for you: http://pastebin.ca/1831606

Report

C

fpuelz

10 years ago

Thanks :)

Report

takanowaka

10 years ago

a) i think i like the previous "stop selection" settings in "general" menu much more.. now i get the feeling that there's one layer just to prevent me from direct change of settings ("change" button) w/o apparent reason..
b) i couldn't find a way how to define filter for each stop
c) don't know what i'm doing wrong but applet doesn't remember filter settings after confirming with "Ok" button

so here are some suggestions/wishes? (don't know how to call it)

Stop Selection - back to previous style http://img412.imageshack.us/img412/1020/snapshot09.png *added active filters

Filter Configuration mockup - easy way to define on which stops should be filter applied
http://img708.imageshack.us/img708/3989/snapshot11a.pngp
http://img412.imageshack.us/img412/7282/snapshot11b.png
*in mockup 2 filters are defined - 1 for each stop.. but it could be 1 filter for both stops

Right Click Menu - http://img412.imageshack.us/img412/6630/snapshot12.png
1. the thing in box is what i thought i'll be able to do
2. maybe this should be hidden if accessor doesn't support this function
3. with my filter mockup prolly obsolete/not needed

hope it's written in straightforward way.. and last thing - keep up good work ;) you always surprise me with more and more functions

Report

C

fpuelz

10 years ago

a) I've changed the stop settings for these reasons: 1. Most of the time you won't need to change your stops (you can define multiple stop settings to switch between), 2. Having all those widgets in there multiple times (for multiple stop settings) makes it a bit overcrowded, 3. Stop settings can now directly be checked after input (closing the additional dialog), 4. The wheather applet does it the same (not the best reason ;) I think they do it for the same reasons 1+2+3). With your filters mockup the filters used by each stop can be controlled in the filters page, so one less reason to click the "change" button :)

b), c) The filter page is now only used to setup filters, ie. the combobox on top is just there to open a filter configuration for editing, not to use it in the currently selected stop. That's why the last selected filter configuration in that page isn't remembered. To use a different filter for each stop, you first need to define different filters in the filters page. Then you can change the used filter configuration for each stop by clicking that "change" button (since beta 2 it's in the details of the dialog).

With your stop selection mockup it wouldn't be possible to define multiple stop settings. That's handled a bit differently than in previous versions: You can now have multiple stop settings where one of them is displayed in the applet at a time. Each of those stop settings can then have multiple stops to be combined in the departure view. Effectively this seperates two features: Switch between multiple stops and combine multiple stops in one view. I've also added some What's This texts, improvements here are welcome :)

I like your filter config mockups, ie. turning the "Used by X stops" label into checkboxes. Maybe I can use my CheckCombobox for that, that's already used for vehicle type selection in the filters (but with only one icon and all names seperated by ","). This way it should be clearer how to use the filter configurations. And it's one less reason for the need to click "change" in the stop settings :)


Thanks for your work and feedback!

Report

C

fpuelz

10 years ago

Checkboxes in the filter settings page would produce a problem: When a stop setting gets unchecked (to not use the current filter configuration), some other filter configuration needs to be set. That other filter config could be "Default", but what it someone unchecks a stop setting while the "Default" filter config is opened.
So in beta 3 I implemented another approach: A new tab where all stop settings are listed with the used filter configs and the used filter configs can be changed. This gives a nice overview and more space for the filters.

Report

takanowaka

10 years ago

is there a way to combine two or more stop sets? http://img221.imageshack.us/img221/5999/snapshot02.png
what i want is switch layout between Stop 1 (Siravska) / Stop 2 (Cilizska) / Both Stops

with this i don't think that is really necessary for filters to have that possibility to select on which bus stop they are applied

Report

takanowaka

10 years ago

i better play with sets more before actually wanting this ;) i have an idea which might collide with this combined layout

Report

C

fpuelz

10 years ago

It's not possible to combine stop settings (which are combined stops). You can create three stop settings: One with stop A, one with stop B and one with both stops.
The "filter config per stop settings" is useful if you have stop settings defined for stops in some other city / country, where targets have different names, lines have different numbers and so on. If you travel a lot you can then quickly change the current stop to where you are and the filters will also change appropriately. It can also be useful for stops in the same city.

Allowing to combine combined stops seems to make it more complicated.

Report

takanowaka

10 years ago

heh.. simple solution that wouldn't cross my mind :D thanks

Report

takanowaka

10 years ago

now i got it.. i didn't realize that "+ add stop" is for something completly different than "+" inside of change button.. i thought that the functionality is the same and i didn't even try it :p maybe changing the name would help.. something saying that it is for adding stop from different accessor.. but i can't think of any short clear name :p
btw this discovery probably eliminates most of my ideas from before ;)
i'll check the applet again and see if i have something relevant ;)

Report

C

fpuelz

10 years ago

Ah, ok ;) Maybe it should be called "Add Stop Setting".. And maybe the "+" inside the stop settings dialog should also get a label, something like "Add Combined Stop". Maybe it's also sufficient to label the "inner" "+" button.

But I'll use your filter config ideas :)

Report

takanowaka

10 years ago

add departure/arrival board: heh.. i didn't know that my accessor actually supports this function :D i just realized it when playing with applet

don't know if it's possible but more functionality within "button in the upper-left corner of applet" would be nice.. namely stop selection ;) something like this http://img215.imageshack.us/img215/151/snapshot01.png
*it's only text cos i'm too lazy to make it look like buttons and selection boxes :p

Report

takanowaka

10 years ago

add departure/arrival board: heh.. i didn't know that my accessor actually supports this function :D i just realized it when playing with applet

don't know if it's possible but more functionality within "button in the upper-left corner of applet" would be nice.. namely stop selection ;) something like this http://img215.imageshack.us/img215/151/snapshot01.png
*it's only text cos i'm too lazy to make it look like buttons and selection boxes :p

Report

C

fpuelz

10 years ago

Hm.. It provides a menu button for stop selection: "Switch Current Stop". Mostly all functions are now also available through the context menu..
The old switch current stop function is removed now, you can now only switch between stop settings. I think that's good enough? It always shows all stops of the current stop settings combined.
But you can define multiple stop settings: One with multiple stops combined and one with only one of them.

Report

8 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
Be the first to comment
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
FollowByWhiteRabbit
Mar 02 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 MD5SUM
*Needs pling-store or ocs-url to install things
Pling
0 Affiliates
Details
license
version
0.11 beta
updated Jan 17 2013
added Jun 03 2009
downloads 24h
0
mediaviews 24h 0
pageviews 24h 6