Решил для себя переписать скрипты от AHTOH. Имеющиеся не устраивают структурой, по скрпту на карту, хочется управления с командной строки. Поскольку нужна кроссплатформенность (на Windows тестирую, на Linux будет крутится), а в последнее время полюбился Python, то на него и пал выбор. В итоге, вырос монстрик, которым и делюсь.
Возможные параметры запуска:
-i переинициализация batch.xml, если вдруг решите изменить дефолтные папки для PBF/OBF (input/temp), достаточно сменить их в <cfg/config.py> и запустить скрипт с этим параметром. При этом скрипт продолжит выполнять задачи по конвертированию
-o только переинициализация batch.xml, на этом скрипт заканчивает свою деятельность
-c скачивает и распаковывает конвертер, по умолчанию берет стабильную версию, однако, практика показала, что имеющаяся на сайте стабильная не работает. Но выпиливать не стал
-n вместо стабильной скачивать ночной билд конвертера, использовать вместе с предыдущим параметром -с
-u не обновлять файл стилей для UniRS, по умолчанию обновляется при каждом запуске
-m обработать только указанный в значении параметра список карт. В отсутствии параметра будут обработаны все карты из <cfg/maps.cfg>. Карты перечисляются через запятую. Пример: -m BY,LV,RU-AD. Указываемые карты должны быть описаны в <cfg/maps.cfg>.
-d не скачивать карты. Полезно для перегенерации уже имеющихся файлов, что бы не качать заного. Если в списке карт для конвертации какой-то не будет, скачивание все равно произойдет.
-f только заливка по FTP, конвертации не происходит. Полезно в случае сбоев при аплоаде для перезаливки с указанием конкретного списка карт в параметре -m
-s отправка отчета критических ошибок генерации на e-mail. В случае отсутствия ошибок письмо не отправляется.
Как видно, значения принимает только один параметр, -m, остальные лишь управляют булевыми значениями с подбором дефолтных значений так, что бы для настроенной ежедневной конвертации было достаточно запустить python process_maps.py, или python process_maps.py -s для уведомлений на почту.
• Все переменные описаны в файле <cfg/config.py>.
• Файл с параметрами ftp не трогал, остается как есть и используется <cfg/ftp.cfg>.
• Файл с картами видоизменился и переименовался <cfg/maps.cfg>. В нем указываются все карты, которые собираетесь конвертировать построчно в следующем формате: ссылканазвание на выходе без расширенияназвание папки, в которую попадет файл на FTP. Тут есть один момент, подразумевается, что названия pbf также совпадают с этим значением. Т.е для AZ pbf файл имеет название AZ.osm.pbf. Надеюсь это справедливо для всех карт
• Для почтовых уведомлений появился файл <cfg/mail.cfg> с информацией о подключении, получателях и т.д.
• Текст ошибок вынесен в файл <cfg/error_text.cfg>. Именно эти строки попадут в имейл, или в поток стандартного вывода при отсутсвии ключа -s.
• Для проверки работоспособности отправки и-мейл после настройки можно запусть скрипт <send_test.py>. Опять один скользкий момент. Отправку писем с местных (это я про Эстонию) мыло-хостеров можно осуществлять только через SMTP провайдера. У меня аутентификация отключена и проверить корректность работы отправки с аутентификацией пока не на чем.
PS: Еще по поводу обновления конвертера. Как уже упоминал, стабильная версия ничерта не работает, ночную как-то ссыкотно, в следствии чего рекомендую оставить ту версию, что была в скриптах AHTOH (я брал у SviMik), посему, о параметре -c можно пока забыть. Отдельно тот самый OsmAndMapCreator положил сюда