#!/usr/bin/php5 -q debug = 0; // Do not store backtraces $targets = array( 'g' => 'pa.formatted_address', 'p' => 'pa.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 ($address = $it->next()) { $address->changed = ($geocoding_required ? 1 : 0); $address->format(); if ($address->delete()) { $address->save(false); } else { ++$skipped; } ++$i; if ($i == $display_limit) { ++$j; $i = 0; printf("\r%u / %u", $i + $display_limit * $j, $total); } sleep($wait * $address->geocoding_calls); } 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 fenc=utf-8: ?>