
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
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.
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)
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)
thomasjfedora
10 years ago
Report
fpuelz
10 years ago
Report
cmlr
10 years ago
Report
thomasjfedora
10 years ago
Another issue i would love to see fixed is the License. The included file is a GPL file, but the source files state it's LGPL.
Report
mschuerig
10 years ago
* I'm using PT on a Notebook which, by its nature, is not always close to the same stop. Being able to choose from several location presets would be nice. Ideally, the KDE infrastructure would supply information about the current location.
* I'm not just interested in one stop, but several. Two public transport stops near to where I live and two train stations a bit further.
* Remember the layout. On my system, by default, the list view is too short and columns are cramped to the point of truncating their content. Dragging the list to a bigger size is easy, whereas uncramping the columns is rather tricky. After I've done it, I'd really like PT to remember it.
* Most of the time I don't need to know anything about any departures. Therefore there's really no need to download the data (and increase the load on the provider). Consequently, I'm only updating data manually. As downloads are pretty quick, it would probably be fast enough to do an update when the user clicks the icon.
Report
takanowaka
10 years ago
Report
Finswimmer
10 years ago
I have updated the ebuild.
But withoout Timetablemate as Gentoo currently does not have a stable version of kwebkitpart.
Finswimmer
Report
FollowByWhiteRabbit
10 years ago
Report
Finswimmer
10 years ago
What error?
Report
FollowByWhiteRabbit
10 years ago
/var/tmp/portage/kde-misc/publictransport-0.8.3/work/publictransport-0.8.3/plasma-applet-publictransport-0.8.3/publictransport.cpp:591: warning: unused parameter ‘requestUrl’
/var/tmp/portage/kde-misc/publictransport-0.8.3/work/publictransport-0.8.3/plasma-applet-publictransport-0.8.3/publictransport.cpp:613: warning: unused parameter ‘requestUrl’
/var/tmp/portage/kde-misc/publictransport-0.8.3/work/publictransport-0.8.3/plasma-applet-publictransport-0.8.3/publictransport.cpp: In member function ‘void PublicTransport::createJourneySearchWidgets()’:
/var/tmp/portage/kde-misc/publictransport-0.8.3/work/publictransport-0.8.3/plasma-applet-publictransport-0.8.3/publictransport.cpp:2272: error: ‘class Plasma::LineEdit’ has no member named ‘setNativeWidget’
/var/tmp/portage/kde-misc/publictransport-0.8.3/work/publictransport-0.8.3/plasma-applet-publictransport-0.8.3/publictransport.cpp: In member function ‘void PublicTransport::setTitleType(TitleType)’:
/var/tmp/portage/kde-misc/publictransport-0.8.3/work/publictransport-0.8.3/plasma-applet-publictransport-0.8.3/publictransport.cpp:2516: error: ‘Animation’ is not a member of ‘Plasma’
/var/tmp/portage/kde-misc/publictransport-0.8.3/work/publictransport-0.8.3/plasma-applet-publictransport-0.8.3/publictransport.cpp:2516: error: ‘animOut’ was not declared in this scope
/var/tmp/portage/kde-misc/publictransport-0.8.3/work/publictransport-0.8.3/plasma-applet-publictransport-0.8.3/publictransport.cpp:2516: error: ‘create’ is not a member of ‘Plasma::Animator’
/var/tmp/portage/kde-misc/publictransport-0.8.3/work/publictransport-0.8.3/plasma-applet-publictransport-0.8.3/publictransport.cpp:2516: error: ‘FadeAnimation’ is not a member of ‘Plasma::Animator’
make[2]: *** [CMakeFiles/plasma_applet_publictransport.dir/publictransport.o] Błąd 1
make[1]: *** [CMakeFiles/plasma_applet_publictransport.dir/all] Błąd 2
make: *** [all] Błąd 2
...
It occurs 3 times more to final error compilation.
Report
fpuelz
10 years ago
Report
Finswimmer
10 years ago
Sorry, I have no idea.
I have only tested it on amd64
Report
FollowByWhiteRabbit
10 years ago
Report
sadiqhuq
10 years ago
danke schön..
Report
fpuelz
10 years ago
And there's no package for publicTransport with kde-on-windows, but that may change at some time.
At http://windows.kde.org/ you can download KDE 4.4 for windows and try out plasma on windows. It's not yet complete though, the tasks list and system tray are missing.
So there's currently no way to download and install this applet on windows, sorry.
Report
zhick
10 years ago
A simple
sed -i s/\.7/\.8\.1/g install.sh
fixes that.
And if you're like me and prefer su over sudo, you can make it use su -c with another
sed -i s/sudo\ make\ install/su\ -c\ \"make\ install\"/g */install.sh
Report
fpuelz
10 years ago
Do you know how I could make it automatically find the right directory, ie. with any version number (there's always only one version of course)? Maybe I should just remove the version from the inner directories.
Report
zhick
10 years ago
if [ ! -d plasma-dataengine-publictransport-* ]
I don't see a reason for this not to work.
Report
fpuelz
10 years ago
Report
takanowaka
10 years ago
2. i suppose that requesting of data doesn't work per stop set but once for all stops.. because of this i don't get any departures on bus stop that i set +30 mins from my home stop
3. it would be nice if settings could be updated for all active plasmoids in realtime.. or give some info that you have to relog to apply changes to all plasmoids ;)
Report
fpuelz
10 years ago
2. Requesting data works per stop, because it's not using an API from the providers (there is none) but just download the HTML documents and then parse them. And I haven't seen a site where departures for multiple stops can be shown at once? The reason that you get no results, is that imhd.sk has no way (I know of) to get departures at a time which isn't now.. If you know one please tell me :) That would be something I can write into the URL to the departure board. I haven't found anything in the site.
3. I will think of a way of doing this, should be possible to get informed if the global settings change..
Report
takanowaka
10 years ago
2. oh.. yea.. i didn't realize that's problem of imhd.sk.. i know that only way to get now +x mins departure is to set destination stop too :|
3. great ;)
Report
fpuelz
10 years ago
Report
takanowaka
10 years ago
Report
takanowaka
10 years ago
Report