vdemidov писал(а):Совершенно не очевидно после "override_cache_path". Какого хрена плагин отвечающий за скачивание должен командывать куда записывать?
Такого, что ситуация "эти тайлы писать в основной кэш, а эти - вооон туда" - встречается сплошь и рядом. Например, можно сделать экспорт нужного выделения по карте в отдельную папку\на флешку СРАЗУ в процессе скачки, а не двумя операциями. Либо писать одновременно в ДВЕ локации - в кэш и на флешку. Или еще как...Короче, это НУЖНО.
См. аналоги в HC: hc.cache.path, hc.cache_file_name, re.replace (все три - R/W в в зоне действия плагина).
--------
if url:find('hl=ru-RU', 1, true) then
url = re.replace(url, [[/hl=]], '/dbRoot.v5/hl=') -- правило замены урла
local source = hc.cache_path .. hc.prepare_url(url) -- правило замены path
...
hc.cache_file_name = hc.prepare_url(url) -- пишем русские dbroot_GE тайлы в сторону от основного кэша
local file = io.open(hc.cache_file_name, 'w')
local file1 = io.open(source, 'w')
--------
vdemidov писал(а):А еще тут регулярно вопросы, о том как проверить не обновился ли тайл на сервере, как прикажешь это делать с таким плагином. А еще от качалки нужно получить content type скачанного что бы знать как его открывать и нужно ли конвертить.
Качалка будет _в этом же плагине_, для начала (позже, что более правильно - сделать плагин к сасу и на закачку тоже). Благо что встроенная сасовая качалка на наст.момент далека от совершенства (мультитреды например тут просят с самого основания, мультипрокси недавно просили, и тд).
Про content_type - разумеется, я же не все до единой плагинные поля перечислял. Я описал лишь общую идею, а конкретные списки параметров как раз и подлежат обсуждению и добавлению.
Например можно вычислять факт изменения тайла по хэшу, и передавать пунктик "а у нас уже есть точно такой же тайл в кэше, то есть мы не обновились!" в САС тоже... Да много чего можно. В том же HC тоже от версии к версии докидываются и расширяются возможности плагинов, при этом старые как работали так и работают (но ничего не мешает их обучить новым фичам, если охота - они скриптовые и открытые).
vdemidov писал(а):Какое имя? Просто текстовое, так оно на разных языках может быть разным.
Обычное имя. Можно заюзать уже употребимые - LAND, MAP, BOTH, GURTAM и проч по списку уже существующих zmp в сасе.
Зачем нужно? Затем, что на многих сервисах есть несколько карт, различающихся лишь парой символов в урле (а вся логика формирования урла - одинакова для всех). Пример - гугль. Нет смысла делать несколько плагинов на такие серверы - имхо достаточно сделать один (например GM.pl) и у него уже спрашивать имя нужного серввиса. Плагин разберется, построит нужный УРЛ, скачает и отдаст сасу контент.
vdemidov писал(а):Ну вот где хранить версию для тайла в SAS?
А щас-то она где хранится?
По уму бы, конечно, надо бы автодетект текущей версии....но это уж совсем уж задел на будущее.
vdemidov писал(а):во многих сервисах текст номера версии весьма произвольный.
В каком бы формате он ни был - в кэше он
обязан присутствовать как один из идентификаторов каждого отдельного тайла. Это такой же параметр как Х\У.
PS: а в ГЕ еще и _время_ к.тайла есть, вдобавок к версии и координатам\зуму...