[sf-lug] BART train departure info from the command line

John Magolske b79net at gmail.com
Sun Feb 8 12:39:43 PST 2009


At http://bart.gov/wireless/eta.aspx you can select a station from a
pull-down list to check train departures. But I wanted a way to go
straight to a given station by specifying it on the command-line. For
example, `bart 16` or `bart sfo` to display real-time departures from
the 16th/Mission or SF Airport stations respectively. I thought I'd
pass it along here for any BART traveling command-line aficionados.

The browser used (elinks) could be replaced with another. The other
text-mode browser I'm familiar with is w3m, but it doesn't seem to do
the auto-update of departure times. Something like Firefox would work,
but I wanted everything to happen in one happy little tty.

Kinda makes me want to jump on a train right now! Oh, wait...I do
that Mon-Fri for work...hmmm, maybe better to just kick back & enjoy
the rest of the weekend.

John


----


#!/bin/sh
# A command line tool for checking BART trains departing a given station
# Requires elinks as written here, but that can replaced with another
# browser if you so desire...
# (c)2008 John Magolske, GPL v3
# Last edit: 2009/02/07 Sat 13:13 PST

# If no station is specified go to the bart.gov/wireless pull-down list
[ "$#" -eq 0 ] &&\
elinks -no-connect 1 http://bart.gov/wireless/eta.aspx && exit 0

# created easier to remember (for me) short-names for each station:
ash="ASHB"      # Ashby
bal="BALB"      # Balboa Park
cas="CAST"      # Castro Valley
bay="BAYF"      # Bay Fair
civ="CIVC"      # Civic Center
col="COLS"      # Coliseum/Oakland
colma="COLM"    # Colma
con="CONC"      # Concord
daly="DALY"     # Daly City
berk="DBRK"     # Downtown Berkeley
dub="DUBL"      # Dublin/Pleasanton
cern="DELN"     # El Cerrito del Norte
cerp="PLZA"     # El Cerrito Plaza
emb="EMBR"      # Embarcadero
free="FRMT"     # Fremont
fruit="FTVL"    # Fruitvale
glen="GLEN"     # Glen Park
hey="HAYW"      # Hayward
laf="LAFY"      # Lafayette
lake="LAKE"     # Lake Merritt
mac="MCAR"      # MacArthur
mill="MLBR"     # Millbrae
mont="MONT"     # Montgomery St.
nberk="NBRK"    # North Berkeley
ncon="NCON"     # North Concord/Martinez
orin="ORIN"     # Orinda
pit="PITT"      # Pittsburg/Bay Point
phill="PHIL"    # Pleasant Hill
pow="POWL"      # Powell St.
rich="RICH"     # Richmond
rock="ROCK"     # Rockridge
sanb="SBRN"     # San Bruno
sfo="SFIA"      # San Francisco Int\'l Airport
slean="SANL"    # San Leandro
shay="SHAY"     # South Hayward
ssf="SSAN"      # South San Francisco
uni="UCTY"      # Union City
wcreek="WCRK"   # Walnut Creek
woak="WOAK"     # West Oakland

eval sta="\$$1"

# variables can't begin with a number, for numbered stations do it like:
[ "$1" = "16" ] && sta="16TH"   # 16th St. Mission (SF)
[ "$1" = "24" ] && sta="24TH"   # 24th St. Mission (SF)
[ "$1" = "12" ] && sta="12TH"   # 12th St. Oakland City Center
[ "$1" = "19" ] && sta="19TH"   # 19th St. Oakland

# call up bart.gov/wireless & go directly to the specified station
elinks -no-connect 1 http://bart.gov/wireless/stationdetails.aspx?station="$sta"

## end of script ##


-- 
John Magolske
http://B79.net/contact




More information about the sf-lug mailing list