gtfs-realtime: GTFS RealTime protobafs library (autogenerated from .proto file)

[ bsd3, data, library ] [ Propose Tags ]

Please see the README on GitHub at https://github.com/CthulhuDen/gtfs-realtime#readme or https://hackage.haskell.org/package/gtfs-realtime


[Skip to Readme]
Versions [faq] 0.1.0.0, 0.2.0.0
Dependencies base (>=4.7 && <5), protocol-buffers (==2.4.12.*), protocol-buffers-descriptor (==2.4.12.*) [details]
License BSD-3-Clause
Copyright Cthulhu (c) 2018
Author Cthulhu
Maintainer cthulhu.den@gmail.com
Category Data
Home page https://github.com/CthulhuDen/gtfs-realtime#readme
Bug tracker https://github.com/CthulhuDen/gtfs-realtime/issues
Source repo head: git clone https://github.com/CthulhuDen/gtfs-realtime
Uploaded by CthulhuDen at Sun Dec 9 08:46:47 UTC 2018
Distributions NixOS:0.2.0.0
Downloads 256 total (37 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2018-12-09 [all 1 reports]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for gtfs-realtime-0.2.0.0

[back to package description]

GTFS RealTime

Haskell protobuf definitions for GTFS RealTime feed data. Autogenerated by and supposed to be used with protocol-buffers.

Usage example

{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}

module Main where

import qualified Data.ByteString.Lazy as LBS
import           Data.Function
import           GTFS.RealTime.Protobuf.FeedMessage
import           Network.HTTP.Simple (Request, setRequestQueryString, httpLBS, getResponseBody)
import qualified Text.ProtocolBuffers as Protobuf

main :: IO ()
main = do
  resp <- httpLBS $ "http://transport.orgp.spb.ru/Portal/transport/internalapi/gtfs/realtime/vehicle"
                      & setRequestQueryString [("routeIDs", Just "1843")]

  msg <- case Protobuf.messageGet $ getResponseBody resp of
    Left err                       -> fail err
    Right (msg :: FeedMessage, "") -> pure msg
    _                              -> fail "parse incomplete"

  -- | You now have FeedMessage parsed
  print msg

Source proto file

This transport.proto file was used to generate the modules, it is the same as provided here, only with modified package name.