#!/usr/bin/tclsh package require cmdline source dortmunder.lib set options { {base_url.arg "http://gd2.mlb.com/components/game" "Base URL"} {base_dir.arg "./spider" "Base dir to save files"} {type.arg "mlb" "Type of season to get (mlb,aaa,rok,etc.)"} {year.arg "2005" "Year"} {month.arg "3" "Month"} {day.arg "1" "Day"} {daily "Only get data for yesterday"} {spider "Only get files"} {load_db "Only load files into db"} } set u $argv if {[catch {array set cfg [::cmdline::getoptions u $options]} errmsg]} { puts $errmsg exit 1 } set types [list aaa aax afa afx asx ind rok win mlb] set base_url $cfg(base_url) set base_dir $cfg(base_dir) set type $cfg(type) set year $cfg(year) set month $cfg(month) set day $cfg(day) set daily_p $cfg(daily) set spider_p $cfg(spider) set load_db_p $cfg(load_db) if { !$spider_p && !$load_db_p} { set spider_p 1; set load_db_p 1 } set now [clock seconds] if {$daily_p} { set start [clock scan "1 day ago" -base $now] set year [clock format $start -format %Y] set month [clock format $start -format %m] set day [clock format $start -format %d] } set year [format "year_%04d" $year] set month [format "month_%02s" $month] set day [format "day_%02s" $day] set inifile "./blackout.ini" if { $type == "all" } { set types $types } else { set types $type } foreach t $types { puts "Working on: $t" set url "${base_url}/${t}" set dir [file join $base_dir $t] set daydir [file join $dir $year $month $day] if $spider_p { get_files $url $dir $year $month $day } if $load_db_p { set urlList {} if {[catch {set urlList [glob [file join $daydir "gid_*"]]} errmsg]} { puts "Could not find files for $month/$day/$year" } else { go_get_it $t $daydir $urlList $inifile } } }