private function getAndParseSubteInfo()
{
if ($cachedData = $this->isCached()) {
$this->lineas = $cachedData;
return true;
}
$dom = new Dom();
$dom->loadFromFile($this->sourceURL);
foreach ($this->lineas as $linea => $info) {
$lineInfo = $dom->find("#status-line-{$linea}-container")[0];
$lineStatusClass = $lineInfo->getAttribute('class');
if (strpos($lineStatusClass, 'suspendido') !== false) {
$this->lineas[$linea]->status = 'CANCELLED';
}
if (strpos($lineStatusClass, 'demorado') !== false) {
$this->lineas[$linea]->status = 'DELAYED';
}
if ($this->isSleepingTime()) {
$this->lineas[$linea]->status = 'SLEEPING';
}
// get raw status msg
$status_msg = $lineInfo->find("#status-line-{$linea}")->text;
$this->lineas[$linea]->statusMessage = html_entity_decode($status_msg, ENT_QUOTES, 'ISO-8859-1');
}
$this->updateStatusInfo();
$this->cacheLines();
}