nerdEd / gtfs

Ruby lib for dealing with GTFS
http://www.edschmalzle.com
MIT License
61 stars 40 forks source link

GTFS::InvalidSourceException: Zip end of central directory signature not found #15

Closed jelder closed 10 years ago

jelder commented 10 years ago

When trying to load Boston's MBTA's feed:

irb(main):002:0> source = GTFS::Source.build('http://developer.mbta.com/lib/gtrtfs/Passages.pb')
GTFS::InvalidSourceException: Zip end of central directory signature not found
    from /Users/jacob/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/gtfs-0.2.1/lib/gtfs/url_source.rb:18:in `rescue in load_archive'
    from /Users/jacob/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/gtfs-0.2.1/lib/gtfs/url_source.rb:8:in `load_archive'
    from /Users/jacob/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/gtfs-0.2.1/lib/gtfs/source.rb:25:in `initialize'
    from /Users/jacob/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/gtfs-0.2.1/lib/gtfs/source.rb:48:in `new'
    from /Users/jacob/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/gtfs-0.2.1/lib/gtfs/source.rb:48:in `build'
    from (irb):2
    from /Users/jacob/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.1.0.rc1/lib/rails/commands/console.rb:90:in `start'
    from /Users/jacob/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.1.0.rc1/lib/rails/commands/console.rb:9:in `start'
    from /Users/jacob/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.1.0.rc1/lib/rails/commands/commands_tasks.rb:69:in `console'
    from /Users/jacob/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.1.0.rc1/lib/rails/commands/commands_tasks.rb:40:in `run_command!'
    from /Users/jacob/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/railties-4.1.0.rc1/lib/rails/commands.rb:17:in `<top (required)>'
    from /Users/jacob/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/activesupport-4.1.0.rc1/lib/active_support/dependencies.rb:247:in `require'
    from /Users/jacob/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/activesupport-4.1.0.rc1/lib/active_support/dependencies.rb:247:in `block in require'
    from /Users/jacob/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/activesupport-4.1.0.rc1/lib/active_support/dependencies.rb:232:in `load_dependency'
    from /Users/jacob/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/activesupport-4.1.0.rc1/lib/active_support/dependencies.rb:247:in `require'
    from /Users/jacob/code/transit/bin/rails:8:in `<top (required)>'
    from /Users/jacob/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/activesupport-4.1.0.rc1/lib/active_support/dependencies.rb:241:in `load'
    from /Users/jacob/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/activesupport-4.1.0.rc1/lib/active_support/dependencies.rb:241:in `block in load'
    from /Users/jacob/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/activesupport-4.1.0.rc1/lib/active_support/dependencies.rb:232:in `load_dependency'
    from /Users/jacob/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/activesupport-4.1.0.rc1/lib/active_support/dependencies.rb:241:in `load'
    from /Users/jacob/.rbenv/versions/2.1.0/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/jacob/.rbenv/versions/2.1.0/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from -e:1:in `<main>'

More details about their feed here: http://realtime.mbta.com/portal http://realtime.mbta.com/Portal/Content/Documents/MBTA-realtime_DeveloperDocumentation_v1.0.4_2013-11-05.pdf

nerdEd commented 10 years ago

It looks like you're trying to feed it a GTRFS feed instead of a regular GTFS feed. This library doesn't currently support the real time stuff. Let me know if I'm mistaken in what you're trying to do.

I'd like to add support for the realtime feeds, but I don't have a lot of time to work on this right now. Would love a PR : )

jelder commented 10 years ago

Thanks, Ed. I later discovered that protoc was able to output Ruby, so I'm set now.

nerdEd commented 10 years ago

Awesome! I hadn't looked into the realtime stuff that much and came to similar conclusions myself while researching it last night. It seems like there probably isn't any reason to implement realtime support as part of the gem.