X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/437a7ce50e0722e726a5e7e105736978cddd5167..0e613a362e67bcb718e0f56ebc6410c204dd3842:/wikidata/pull_wikipedia_logs.php?ds=sidebyside diff --git a/wikidata/pull_wikipedia_logs.php b/wikidata/pull_wikipedia_logs.php index 8dfabbb1..a7f6a9a3 100644 --- a/wikidata/pull_wikipedia_logs.php +++ b/wikidata/pull_wikipedia_logs.php @@ -1,91 +1,73 @@ hour.txt'); + exec('gzip -dc '.$sFilename.'.gz'.' | grep -e "^[a-z]\{2\} [^ :]\+ [0-9]\+" > hour.txt'); - $hPrevTotals = @fopen("totals.txt", "r"); - $hDayTotals = @fopen("hour.txt", "r"); - $hNewTotals = @fopen("newtotals.txt", "w"); + $hPrevTotals = @fopen("totals.txt", "r"); + $hDayTotals = @fopen("hour.txt", "r"); + $hNewTotals = @fopen("newtotals.txt", "w"); - $sPrevKey = $sDayKey = true; - $sPrevLine = true; - $sDayLine = true; + $sPrevKey = $sDayKey = true; + $sPrevLine = true; + $sDayLine = true; - do - { - if ($sPrevKey === $sDayKey) - { - if ($sPrevLine !== true) fputs($hNewTotals, "$sPrevKey ".($iPrevValue+$iDayValue)."\n"); - $sPrevLine = true; - $sDayLine = true; - } - else if ($sDayKey !== false && ($sPrevKey > $sDayKey || $sPrevKey === false)) - { - fputs($hNewTotals, "$sDayKey ".($iDayValue)."\n"); - $sDayLine = true; - } - else if ($sPrevKey !== false && ($sDayKey > $sPrevKey || $sDayKey === false)) - { - fputs($hNewTotals, "$sPrevKey ".($iPrevValue)."\n"); - $sPrevLine = true; - } + do { + if ($sPrevKey === $sDayKey) { + if ($sPrevLine !== true) fputs($hNewTotals, "$sPrevKey ".($iPrevValue+$iDayValue)."\n"); + $sPrevLine = true; + $sDayLine = true; + } elseif ($sDayKey !== false && ($sPrevKey > $sDayKey || $sPrevKey === false)) { + fputs($hNewTotals, "$sDayKey ".($iDayValue)."\n"); + $sDayLine = true; + } elseif ($sPrevKey !== false && ($sDayKey > $sPrevKey || $sDayKey === false)) { + fputs($hNewTotals, "$sPrevKey ".($iPrevValue)."\n"); + $sPrevLine = true; + } - if ($sPrevLine === true) - { - $sPrevLine = $hPrevTotals?fgets($hPrevTotals, 4096):false; - if ($sPrevLine !== false) - { - $aPrevLine = explode(' ', $sPrevLine); - $sPrevKey = $aPrevLine[0].' '.$aPrevLine[1]; - $iPrevValue = (int)$aPrevLine[2]; - } - else - { - $sPrevKey = false; - $iPrevValue = 0; - } - } + if ($sPrevLine === true) { + $sPrevLine = $hPrevTotals?fgets($hPrevTotals, 4096):false; + if ($sPrevLine !== false) { + $aPrevLine = explode(' ', $sPrevLine); + $sPrevKey = $aPrevLine[0].' '.$aPrevLine[1]; + $iPrevValue = (int)$aPrevLine[2]; + } else { + $sPrevKey = false; + $iPrevValue = 0; + } + } - if ($sDayLine === true) - { - $sDayLine = $hDayTotals?fgets($hDayTotals, 4096):false; - if ($sDayLine !== false) - { - preg_match('#^([a-z]{2}) ([^ :]+) ([0-9]+) [0-9]+$#', $sDayLine, $aMatch); - $sDayKey = $aMatch[1].' '.$aMatch[2]; - $iDayValue = (int)$aMatch[3]; - } - else - { - $sDayKey = false; - $iDayValue = 0; - } - } + if ($sDayLine === true) { + $sDayLine = $hDayTotals?fgets($hDayTotals, 4096):false; + if ($sDayLine !== false) { + preg_match('#^([a-z]{2}) ([^ :]+) ([0-9]+) [0-9]+$#', $sDayLine, $aMatch); + $sDayKey = $aMatch[1].' '.$aMatch[2]; + $iDayValue = (int)$aMatch[3]; + } else { + $sDayKey = false; + $iDayValue = 0; + } + } + } while ($sPrevLine !== false || $sDayLine !== false); - } while ($sPrevLine !== false || $sDayLine !== false); + @fclose($hPrevTotals); + @fclose($hDayTotals); + @fclose($hNewTotals); - @fclose($hPrevTotals); - @fclose($hDayTotals); - @fclose($hNewTotals); - - @unlink("totals.txt"); - rename("newtotals.txt", "totals.txt"); - } - } + @unlink("totals.txt"); + rename("newtotals.txt", "totals.txt"); + } +} // Notes: /*