From: Stéphane Jacob Date: Thu, 12 May 2011 12:09:12 +0000 (+0200) Subject: Updates address formating script. X-Git-Tag: xorg/1.1.2~62^2~21 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=49f0caac6cf944a238401a74bce2c37c7c99583b;p=platal.git Updates address formating script. Signed-off-by: Stéphane Jacob --- diff --git a/bin/formatAddresses.php b/bin/formatAddresses.php index 4ab19d2..6b8a8dd 100755 --- a/bin/formatAddresses.php +++ b/bin/formatAddresses.php @@ -22,31 +22,122 @@ require './connect.db.inc.php'; require_once '../classes/address.php'; +require_once '../classes/geocoder.php'; +require_once '../classes/gmapsgeocoder.php'; $globals->debug = 0; // Do not store backtraces -print "(Re)Formats postal addresses for all addresses in the database.\n"; +$targets = array( + 'g' => 'formatted_address', + 'p' => 'postalText' +); +$ranges = array( + 'f' => ' != \'\'', + 'e' => ' = \'\'', + 'a' => 'IS NOT NULL' +); + +$options = getopt('g::t:r:h::', array('geocode::', 'target:', 'range:', 'help::')); + +$help_required = isset($options['h']) || isset($options['help']); +$geocoding_required = isset($options['g']) || isset($options['geocode']); +$target = ''; +$range = ''; + +if (isset($options['t'])) { + $target = $options['t']; +} elseif (isset($options['target'])) { + $target = $options['target']; +} + +if (isset($options['r'])) { + $range = $options['r']; +} elseif ($options['range']) { + $range = $options['range']; +} + +$missing_option = !array_key_exists($target, $targets) || !array_key_exists($range, $ranges); + +if ($missing_option || $help_required) { + echo <<total(); $i = 0; $j = 0; +$skipped = 0; printf("\r%u / %u", $i, $total); + while ($item = $it->next()) { $address = new Address($item); - $address->format(array('postalText' => true)); - $address->delete(); - $address->save(); + $address->changed = ($geocoding_required ? 1 : 0); + $address->format(); + if ($address->delete()) { + $address->save(); + } else { + ++$skipped; + } ++$i; - if ($i == 100) { + if ($i == $display_limit) { ++$j; $i = 0; - printf("\r%u / %u", $i + 100 * $j, $total); + printf("\r%u / %u", $i + $display_limit * $j, $total); } + sleep($wait * $address->geocoding_calls); } -print "Done.\n"; +printf("\r%u / %u", $i + $display_limit * $j, $total); + +if ($skipped != 0) { + printf("\n%u addresses skipped.\n", $skipped); +} + +print "\nDone.\n"; // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: ?>