From: IrlJidel Date: Fri, 22 Mar 2013 12:44:21 +0000 (+0000) Subject: make planet replication url configurable so we can use geofabrik's awesome daily... X-Git-Tag: v2.2.0~100 X-Git-Url: https://git.openstreetmap.org./nominatim.git/commitdiff_plain/7cb27dc881b27602330dd829e4bd0d2130b6b5b1 make planet replication url configurable so we can use geofabrik's awesome daily country diffs --- diff --git a/settings/settings.php b/settings/settings.php index b7e9e52c..dd424e07 100644 --- a/settings/settings.php +++ b/settings/settings.php @@ -16,6 +16,10 @@ @define('CONST_Path_Postgresql_Postgis', CONST_Path_Postgresql_Contrib.'/postgis-'.CONST_Postgis_Version); @define('CONST_Osm2pgsql_Binary', CONST_BasePath.'/osm2pgsql/osm2pgsql'); @define('CONST_Osmosis_Binary', '/usr/bin/osmosis'); + //@define('CONST_Replication_Url', 'http://planet.openstreetmap.org/replication/minute'); + //@define('CONST_Replication_MaxInterval', '3600'); + @define('CONST_Replication_Url', 'http://download.geofabrik.de/europe/ireland-and-northern-ireland-updates'); + @define('CONST_Replication_MaxInterval', '259200'); // Connection buckets to rate limit people being nasty @define('CONST_ConnectionBucket_MemcacheServerAddress', false); diff --git a/utils/setup.php b/utils/setup.php index e49a2d52..d404f4df 100755 --- a/utils/setup.php +++ b/utils/setup.php @@ -502,9 +502,11 @@ } else { + passthru(CONST_Osmosis_Binary.' --read-replication-interval-init '.CONST_BasePath.'/settings'); - // server layout changed afer license change, fix path to minutely diffs - passthru("sed -i 's:minute-replicate:replication/minute:' ".CONST_BasePath.'/settings/configuration.txt'); + // update osmosis configuration.txt with our settings + passthru("sed -i 's!baseUrl=.*!baseUrL=".CONST_Replication_Url."!' ".CONST_BasePath.'/settings/configuration.txt'); + passthru("sed -i 's:maxInterval = .*:maxInterval = ".CONST_Replication_MaxInterval.":' ".CONST_BasePath.'/settings/configuration.txt'); } // Find the last node in the DB @@ -517,10 +519,12 @@ $iLastNodeTimestamp = strtotime($aLastNodeDate[1]) - (3*60*60); - // Search for the correct state file - uses file timestamps - $sRepURL = 'http://planet.openstreetmap.org/replication/minute/'; - $sRep = file_get_contents($sRepURL); - preg_match_all('#([0-9]{3}/) *(([0-9]{2})-([A-z]{3})-([0-9]{4}) ([0-9]{2}):([0-9]{2}))#', $sRep, $aRepMatches, PREG_SET_ORDER); + // Search for the correct state file - uses file timestamps so need to sort by date descending + $sRepURL = CONST_Replication_Url."/"; + $sRep = file_get_contents($sRepURL."?C=M;O=D"); + // download.geofabrik.de: 000/26-Feb-2013 11:53 + // planet.openstreetmap.org: 273/ 22-Mar-2013 07:41 - + preg_match_all('#([0-9]{3}/).*(([0-9]{2})-([A-z]{3})-([0-9]{4}) ([0-9]{2}):([0-9]{2}))#', $sRep, $aRepMatches, PREG_SET_ORDER); $aPrevRepMatch = false; foreach($aRepMatches as $aRepMatch) { @@ -530,8 +534,8 @@ if ($aPrevRepMatch) $aRepMatch = $aPrevRepMatch; $sRepURL .= $aRepMatch[1]; - $sRep = file_get_contents($sRepURL); - preg_match_all('#([0-9]{3}/) *(([0-9]{2})-([A-z]{3})-([0-9]{4}) ([0-9]{2}):([0-9]{2}))#', $sRep, $aRepMatches, PREG_SET_ORDER); + $sRep = file_get_contents($sRepURL."?C=M;O=D"); + preg_match_all('#([0-9]{3}/).*(([0-9]{2})-([A-z]{3})-([0-9]{4}) ([0-9]{2}):([0-9]{2}))#', $sRep, $aRepMatches, PREG_SET_ORDER); $aPrevRepMatch = false; foreach($aRepMatches as $aRepMatch) { @@ -541,8 +545,8 @@ if ($aPrevRepMatch) $aRepMatch = $aPrevRepMatch; $sRepURL .= $aRepMatch[1]; - $sRep = file_get_contents($sRepURL); - preg_match_all('#([0-9]{3}).state.txt *(([0-9]{2})-([A-z]{3})-([0-9]{4}) ([0-9]{2}):([0-9]{2}))#', $sRep, $aRepMatches, PREG_SET_ORDER); + $sRep = file_get_contents($sRepURL."?C=M;O=D"); + preg_match_all('#([0-9]{3}).state.txt.*(([0-9]{2})-([A-z]{3})-([0-9]{4}) ([0-9]{2}):([0-9]{2}))#', $sRep, $aRepMatches, PREG_SET_ORDER); $aPrevRepMatch = false; foreach($aRepMatches as $aRepMatch) {