All pastes #744995 Raw Edit

For devivo

public text v1 · immutable
·published 2007-10-21 23:02 UTC
rendered paste body
alias CalID { 
  .sockclose CalID
  sockopen CalID caleague.com 80
  if ($hget(CalID)) hfree CalID
  hmake CalID 20
}
on *:sockopen:CalID:{ 
  var %sw = sockwrite -n $sockname
  %sw GET /?page=history&type=roster&search=1&uniqueid=0:0:51006 HTTP/1.1
  %sw Host: caleague.com
  %sw Connection: Close
  %sw
}
on *:sockread:CalID:{ 
  if ($sockerr > 0) return
  var %data
  :CalIDread
  sockread %data 
  if ($sockbr == 0) { return }

  if (<td><b>Action</b></td> isin %data) { set %calid.parse $true }
  elseif ((<tr isin %data) && (%calid.parse)) {
    set %calid.col 0
  }
  elseif (($regex(%data,/<td(?:.*?)>(.*)<\/td>/)) && (%calid.parse)) {
    inc %calid.col
    if (%calid.col == 1) { set %calid.date $regml(1) }
    elseif (%calid.col == 2) set %calid.league $regml(1)
    elseif ((%calid.col == 4) && (!$hget($sockname,$replace($regml(1),$chr(32),)))) {
      var %team = $regml(1)
      if ($regex(%team,/<a href(?:.*?)>(.*?)</a>/)) %team = $regml(1)
      hadd -m $sockname $replace(%team,$chr(32),) $+(%calid.league,|,%calid.date)
    }
  }
  elseif (// END CONTENT isin %data) { set %calid.parse $false }
  goto CalIDread
}

on *:sockclose:CalID:{
  unset %calid.*
  var %i = 1 
  while (%i <= $hget($sockname,0).item) {
    var %team = $hget($sockname,%i).item
    var %league = $gettok($hget($sockname,%team),1,124)
    var %date = $gettok($hget($sockname,%team),2,124)
    echo -s %i Team: $replace(%team,,$chr(32)) League: %league Date: %date
    inc %i
  }
}