Т.к. в равной мере пользуюсь OsmAnd и MAPS.ME (отдать предпочтение одному приложению не удастся, т.к. когда фичастость османда не нужна, терпеть его тормоза сил нет), столкнулся с проблемой синхронизации между ними закладок.
Хочется, чтобы закладка, созданная в одной приложении, автоматически становилась доступна и в другом.
Подумываю написать скрипт, который бы проверял файлы с закладками обоих приложений, и если какой-то из них недавно был модифицирован, то переписывал бы изменения в файл закладок другого приложения.
Запуск такого инструмента в фоне по таймеру, скажем, каждый час, теоретически должен решить мою проблему. Но тратить пару часов на такую задачу леняво. Может кто-нибудь знает готовое решение?
Если вам нужен такой конвертер - отмечайтесь в комментах. Это повысит вероятность, что я его всё-таки напишу.
Закладки это по сути точки с координатами - или что-то умнее?
Насколько я знаю в OsmAnd есть папки или метки у “избранного”. Можно иметь несколько мест “по работе”, “по дому”, “по друзьям”, “по магазинам” и прочему.
В первом приближении точка с координатами. Оба сабжевых приложения по большому счёту используют одинаковую абстракцию для избранного. У отметки в обоих приложениях есть:
Координаты
Категория (папка)
Короткое название
Развёрнутое описание
Цвет
Мне нужна синхронизация как минимум п. 1-3
Спасибо за подсказку, я уже посмотрел, как оба приложения хранят favorites. В MAPS.ME вот это обычные стандартные kml файлы (ну может чуть нестандартные), по одному на категорию. Тольку от этой стандартности, если стандарты разные.
BushmanK, спасибо, про XSLT вообще не вспомнил, когда размышлял над проблемой. Тем не менее, конвертация через xslt не позволит (возможно заблуждаюсь, с XSLT почти не сталкивался):
Выбрать направление конвертации
При опустошении папки закладок в османде удалить соответствующий kml файл из директории MAPS.ME
Делать backup перед внесением изменений
Делать merge. Т.е. например не затирать favorites.gpx сконвертированным из закладок MAPS.ME, а добавить новые метки
П 1-3 можно бы делать из скрипта, вызывающего xsltproc, но 4 таким образом не решается.
Я предполагаю сделать скрипт на питоне. В стандартных библиотеках есть поддержка XML, так что никаких внешних зависимостей не понадобится.