Конвертация и синхронизация закладок/избранного между OsmAnd и MAPS.ME

Т.к. в равной мере пользуюсь OsmAnd и MAPS.ME (отдать предпочтение одному приложению не удастся, т.к. когда фичастость османда не нужна, терпеть его тормоза сил нет), столкнулся с проблемой синхронизации между ними закладок.

Хочется, чтобы закладка, созданная в одной приложении, автоматически становилась доступна и в другом.

Подумываю написать скрипт, который бы проверял файлы с закладками обоих приложений, и если какой-то из них недавно был модифицирован, то переписывал бы изменения в файл закладок другого приложения.

Запуск такого инструмента в фоне по таймеру, скажем, каждый час, теоретически должен решить мою проблему. Но тратить пару часов на такую задачу леняво. Может кто-нибудь знает готовое решение?

Если вам нужен такой конвертер - отмечайтесь в комментах. Это повысит вероятность, что я его всё-таки напишу.

Закладки это по сути точки с координатами - или что-то умнее?

Насколько я знаю в OsmAnd есть папки или метки у “избранного”. Можно иметь несколько мест “по работе”, “по дому”, “по друзьям”, “по магазинам” и прочему.

В OsmAnd это простейший favorites.gpx (обычный стандартный GPX), который лежит /sdcard/osmand/.

В первом приближении точка с координатами. Оба сабжевых приложения по большому счёту используют одинаковую абстракцию для избранного. У отметки в обоих приложениях есть:

  1. Координаты

  2. Категория (папка)

  3. Короткое название

  4. Развёрнутое описание

  5. Цвет

Мне нужна синхронизация как минимум п. 1-3

Спасибо за подсказку, я уже посмотрел, как оба приложения хранят favorites. В MAPS.ME вот это обычные стандартные kml файлы (ну может чуть нестандартные), по одному на категорию. Тольку от этой стандартности, если стандарты разные.

Ну, раз и там и там - XML, решение через XSLT напрашивается само, в общем.

BushmanK, спасибо, про XSLT вообще не вспомнил, когда размышлял над проблемой. Тем не менее, конвертация через xslt не позволит (возможно заблуждаюсь, с XSLT почти не сталкивался):

  1. Выбрать направление конвертации

  2. При опустошении папки закладок в османде удалить соответствующий kml файл из директории MAPS.ME

  3. Делать backup перед внесением изменений

  4. Делать merge. Т.е. например не затирать favorites.gpx сконвертированным из закладок MAPS.ME, а добавить новые метки

П 1-3 можно бы делать из скрипта, вызывающего xsltproc, но 4 таким образом не решается.

Я предполагаю сделать скрипт на питоне. В стандартных библиотеках есть поддержка XML, так что никаких внешних зависимостей не понадобится.

Да хоть на питоне пиши http://stackoverflow.com/questions/31192887/parsing-xml-with-python-accessing-elements/31218346#31218346

Можно и на XSLT http://stackoverflow.com/questions/19392750/inserting-nodes-from-a-xml-to-another-xml-file-using-xslt

правда проверку на уникальность или соответсвие id нужно ещё придумать как сделать.