SASGIS - SACS.Планета
View Issue Details
0000152SACS.Планета[All Projects] Хотелкаpublic13-10-2010 07:4409-08-2013 15:00
bigba2 
vasketsov 
noneminorhave not tried
closedfixed 
WindowsXPSP3
 
130803 
0000152: Сохранение фотографий в кэш с panoramio
собственно сабж
panoramio, кэш, прокси
has duplicate 0000548closed vdemidov SAS.Планета Сохранение фотографий Panoramio 
related to 0000535confirmed  SAS.Планета Сохранение описаний в кэш с Викимапии 
related to 0000401closed vasketsov SACS.Планета При открытии объекта Викимапии или фотографии Panoramio они открываются в мини-окне IE 
rar SASPlanet_180212.rar (1,674,008) 19-02-2012 14:18
http://www.sasgis.org/mantis/file_download.php?file_id=653&type=bug
rar измененные файлы_180212.rar (113,770) 19-02-2012 15:05
http://www.sasgis.org/mantis/file_download.php?file_id=654&type=bug
rar SAS_With_Panoramio_Photos_Info.rar (3,063) 21-02-2012 20:06
http://www.sasgis.org/mantis/file_download.php?file_id=655&type=bug
rar ParseAttachmentScript_NEW.rar (972) 14-10-2012 23:48
http://www.sasgis.org/mantis/file_download.php?file_id=1107&type=bug
Issue History
13-10-2010 07:44bigba2New Issue
13-10-2010 07:57vdemidovStatusnew => acknowledged
13-10-2010 07:57vdemidovProduct Version => 100707
13-10-2010 07:57vdemidovTarget Version => 20xxxx
13-10-2010 11:19gpsMaxTag Attached: кэш
13-10-2010 11:19gpsMaxTag Attached: panoramio
07-04-2011 00:33gpsMaxRelationship addedrelated to 0000535
07-04-2011 00:34gpsMaxTag Attached: прокси
09-04-2011 09:48vdemidovRelationship addedhas duplicate 0000548
11-04-2011 07:12vdemidovStatusacknowledged => confirmed
06-06-2011 21:35gpsMaxPrioritynormal => none
29-09-2011 13:53vasketsovNote Added: 0004003
29-09-2011 17:39zOnNote Added: 0004004
29-09-2011 17:52vasketsovNote Added: 0004005
29-09-2011 18:09zOnNote Added: 0004006
29-09-2011 18:26vasketsovNote Added: 0004007
29-09-2011 18:28vasketsovNote Edited: 0004007bug_revision_view_page.php?bugnote_id=4007#r2019
29-09-2011 18:45zOnNote Added: 0004008
29-09-2011 19:12vasketsovNote Added: 0004009
29-09-2011 19:26zedNote Added: 0004010
29-09-2011 19:26zOnNote Added: 0004011
29-09-2011 20:48vasketsovNote Added: 0004012
30-09-2011 05:46zOnNote Added: 0004014
30-09-2011 06:19bigbambrNote Added: 0004015
30-09-2011 06:31zOnNote Added: 0004016
30-09-2011 06:36bigbambrNote Edited: 0004015bug_revision_view_page.php?bugnote_id=4015#r2021
30-09-2011 06:55bigbambrNote Edited: 0004015bug_revision_view_page.php?bugnote_id=4015#r2022
30-09-2011 06:56bigbambrNote Edited: 0004015bug_revision_view_page.php?bugnote_id=4015#r2023
30-09-2011 06:57bigbambrNote Edited: 0004015bug_revision_view_page.php?bugnote_id=4015#r2024
30-09-2011 06:58bigbambrNote Edited: 0004015bug_revision_view_page.php?bugnote_id=4015#r2025
30-09-2011 06:59bigbambrNote Edited: 0004015bug_revision_view_page.php?bugnote_id=4015#r2026
30-09-2011 07:09bigbambrNote Edited: 0004015bug_revision_view_page.php?bugnote_id=4015#r2027
30-09-2011 07:09bigbambrNote Edited: 0004015bug_revision_view_page.php?bugnote_id=4015#r2028
30-09-2011 07:10bigbambrNote Edited: 0004015bug_revision_view_page.php?bugnote_id=4015#r2029
30-09-2011 09:47vasketsovNote Added: 0004017
30-09-2011 10:26bigbambrNote Added: 0004018
01-10-2011 07:31gpsMaxNote Added: 0004020
01-10-2011 11:10vasketsovNote Added: 0004021
01-10-2011 12:33zedNote Added: 0004022
01-10-2011 13:42vasketsovNote Added: 0004023
01-10-2011 13:54zedNote Added: 0004024
01-10-2011 16:22vasketsovNote Added: 0004025
01-10-2011 19:48vasketsovNote Added: 0004026
01-10-2011 19:53zOnNote Added: 0004027
01-10-2011 20:04vasketsovNote Added: 0004028
01-10-2011 21:15vasketsovFile Added: SAS_With_Panoramio_Photos_V2.rar
01-10-2011 21:18vasketsovNote Added: 0004029
02-10-2011 04:45zedNote Added: 0004030
02-10-2011 08:08vasketsovNote Added: 0004031
02-10-2011 17:02T_ImNote Added: 0004032
02-10-2011 17:35vasketsovFile Added: SAS_With_Panoramio_Photos_V3.rar
02-10-2011 17:37vasketsovNote Added: 0004033
02-10-2011 17:55zedFile Deleted: SAS_With_Panoramio_Photos_V2.rar
02-10-2011 18:28vasketsovNote Added: 0004034
03-10-2011 05:05zedNote Added: 0004036
03-10-2011 06:32vasketsovNote Added: 0004037
03-10-2011 07:40vasketsovFile Added: SAS_With_Panoramio_Photos_V4.rar
03-10-2011 07:45vasketsovNote Added: 0004038
03-10-2011 07:50vasketsovNote Edited: 0004038bug_revision_view_page.php?bugnote_id=4038#r2037
03-10-2011 11:48zedFile Deleted: SAS_With_Panoramio_Photos_V3.rar
03-10-2011 12:27zedNote Added: 0004039
03-10-2011 17:24vasketsovNote Added: 0004040
05-10-2011 05:28gpsMaxNote Added: 0004045
05-10-2011 07:52zedNote Added: 0004046
09-10-2011 13:30zOnNote Added: 0004063
19-02-2012 14:16nvetNote Added: 0005580
19-02-2012 14:18nvetFile Added: SASPlanet_180212.rar
19-02-2012 14:18zedNote Added: 0005581
19-02-2012 14:19zedNote Deleted: 0005581
19-02-2012 14:22zedNote Added: 0005582
19-02-2012 15:04nvetNote Added: 0005584
19-02-2012 15:05nvetFile Added: измененные файлы_180212.rar
19-02-2012 15:57vasketsovNote Added: 0005586
19-02-2012 16:00vasketsovNote Edited: 0005586bug_revision_view_page.php?bugnote_id=5586#r2809
19-02-2012 16:04vasketsovNote Edited: 0005586bug_revision_view_page.php?bugnote_id=5586#r2810
19-02-2012 16:15vasketsovNote Edited: 0005586bug_revision_view_page.php?bugnote_id=5586#r2811
19-02-2012 16:40vasketsovNote Edited: 0005586bug_revision_view_page.php?bugnote_id=5586#r2812
19-02-2012 19:22nvetNote Added: 0005588
19-02-2012 19:38vasketsovNote Added: 0005589
19-02-2012 19:45vasketsovNote Edited: 0005589bug_revision_view_page.php?bugnote_id=5589#r2814
19-02-2012 19:59nvetNote Added: 0005590
20-02-2012 03:13vasketsovNote Added: 0005591
20-02-2012 03:14vasketsovAssigned To => vasketsov
20-02-2012 03:14vasketsovStatusconfirmed => assigned
21-02-2012 17:27nvetNote Added: 0005594
21-02-2012 20:06vasketsovFile Added: SAS_With_Panoramio_Photos_Info.rar
21-02-2012 20:10vasketsovNote Added: 0005595
21-02-2012 20:25vasketsovNote Edited: 0005595bug_revision_view_page.php?bugnote_id=5595#r2818
21-02-2012 20:26vasketsovNote Edited: 0005595bug_revision_view_page.php?bugnote_id=5595#r2819
21-02-2012 20:27vasketsovNote Edited: 0005595bug_revision_view_page.php?bugnote_id=5595#r2820
21-02-2012 20:50vasketsovStatusassigned => resolved
21-02-2012 20:50vasketsovFixed in Version => 120808
21-02-2012 20:50vasketsovResolutionopen => fixed
01-03-2012 06:08vdemidovTarget Version20xxxx => 120808
06-05-2012 17:47vasketsovRelationship addedrelated to 0000401
19-06-2012 21:10vdemidovNote Added: 0007535
19-06-2012 21:10vdemidovAssigned Tovasketsov =>
19-06-2012 21:10vdemidovStatusresolved => confirmed
19-06-2012 21:11vdemidovResolutionfixed => reopened
19-06-2012 21:11vdemidovFixed in Version120808 =>
19-06-2012 21:11vdemidovTarget Version120808 => 1304xx
29-07-2012 15:35alexey65536Note Added: 0008001
29-07-2012 18:51vdemidovNote Added: 0008006
14-10-2012 23:47vasketsovAssigned To => vasketsov
14-10-2012 23:47vasketsovStatusconfirmed => assigned
14-10-2012 23:47vasketsovFile Deleted: SAS_With_Panoramio_Photos_V4.rar
14-10-2012 23:48vasketsovFile Added: ParseAttachmentScript_NEW.rar
14-10-2012 23:49vasketsovNote Added: 0009542
14-10-2012 23:50vasketsovStatusassigned => resolved
14-10-2012 23:50vasketsovFixed in Version => 1302xx
14-10-2012 23:50vasketsovResolutionreopened => fixed
15-10-2012 12:45vdemidovAssigned Tovasketsov =>
15-10-2012 12:45vdemidovStatusresolved => confirmed
15-10-2012 12:45vdemidovResolutionfixed => open
15-10-2012 12:45vdemidovFixed in Version1302xx =>
13-02-2013 11:06vasketsovProjectSAS.Планета => SACS.Планета
13-02-2013 11:08vasketsovStatusconfirmed => resolved
13-02-2013 11:08vasketsovResolutionopen => fixed
13-02-2013 11:08vasketsovAssigned To => vasketsov
13-02-2013 11:08vasketsovStatusresolved => closed
09-08-2013 15:00vasketsovFixed in Version => 130803

Notes
(0004003)
vasketsov   
29-09-2011 13:53   
вощем господа хорошие, готов сделать.
вернее даже уже сделал (но не опубликовал).

зовётся dll и подменяется текст html как угодно (нет dll - ничего не меняется).
сохраняются картинки medium и original в разные папки.
работает локально (доступно всё то, что хоть раз открывалось по клику мыши).

НО.
для красоты надо замутить что-нибудь типа плагинов.
на худой конец просто поюзать "стандартные" возможности программы.
ибо сейчас в этой dll есть 2 фенечки, которые по идее неплохо бы заставить делать программу (то есть передать обратно вызов). это выделение памяти (и убийство её потом) и скачка файла (пока без всяких проксей, что тоже некошерно).
впрочем, если устроит реализация не в виде плагинов, а просто в виде dll с 2-мя экспортируемыми функциями stdcall - можно и так оставить (хотя бы пока плагины не сформируются окончательно, собственно требования я описал, надо в плагине уметь выделять и убивать память + скачивать файл с урла в папку, плагин подменяет текст в InternalBrowser-е, тривиальнейшая реализация внутри showmessage).
(0004004)
zOn   
29-09-2011 17:39   
vasketsov
почти нифига не понял, но:
куда будут сохраняться фотки? в общий кэш панорамио или в отдельную папку? как настраивается путь к папке? какая структура кэша фоток - по зумам, т.е. дублируют ли они друг друга?
(0004005)
vasketsov   
29-09-2011 17:52   
зумы ни при чём вообще, каждая фотка имеет уникальный номер.
существующий кэш панорамио тоже ни при чём.

фотки складываются в 2 папки. одна для medium, вторая для original.
фотки не дублируются (ну разве что маленькая залита, тогда в medium и в original будет одно и то же).
первая показывается сейчас. вторая - реальная фотка в оригинальном размере, доступна на сайте по клику на фотке.

пока что в отладочном полуручном режиме складывается ровно в 2 папки (пока что вообще не уверен, что надо делить по нескольким папкам, переполнить их конечно можно, но фотки туда не автоматом валятся, а только если их открывать по клику).
настройку сделал в виде ini-шки рядом с dll.

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

в общем какая-то промежуточная хрень получается, есть общее с "картой" (в смысле работы с zmp), но не совсем "карта".
(0004006)
zOn   
29-09-2011 18:09   
делай сразу деление по папкам, что бы потом не переделывать.
1024 файла в одной папке, а дальше начинаются проблемы.
(0004007)
vasketsov   
29-09-2011 18:26   
(edited on: 29-09-2011 18:28)
>что бы потом не переделывать
угу, сразу охота нормально сделать.

>1024 файла в одной папке, а дальше начинаются проблемы
ну как бы если нет автозагрузки фоток, то столько открыть ещё постараться надо.
кроме того хотелось бы какое-то разумное деление.
думал по типу генштаба по координатной сетке делить, по паре градусов, если что не надо - просто херишь папку, и всё. но в какой-нибудь москве это просто убийство будет.

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

так что хрен поймёшь как делить по папкам. там же просто число (номер фотки). можно конечно попробовать и на 1024 делить с остатком (частное дальше делим, остаток берём в папку - так и сооружаем имя папок и файла).

(0004008)
zOn   
29-09-2011 18:45   
сохраняй структуру общего кэша и не изобретай велосипед. но складывать всё сразу в нижний слой, а верхние папки и не создавать.
или ограничиться например шагом в 5 зумов. 1-5-10-15-19, т.к. от зума к зуму наполняемость растет, а отображать на 10-м все фотки 19-го - убийство.
хотя...
ведь отображать будет zmp панорамио, а длл только перехватывать запрос отображения/загрузки и отдавать САС контент? если так, то за кашу-малашу отвечает zmp, а dll надо только найти картинку по ID и вернуть САС? тогда оставляй только структуру кэша 19-го слоя.
(0004009)
vasketsov   
29-09-2011 19:12   
>длл только перехватывать запрос отображения/загрузки и отдавать САС контент?
не так.

когда кликаешь на точке панорамио, там зовётся броузер, в который суётся кусок html-я со ссылками на panoramio.com.
я просто парсю этот текст и могу заменить его на совершенно произвольный. например, убрать логотип панорамио сверху, убрать всякую хрень типа залейте свои фотки рядом, пожаловаться или изменить положение.
ясное дело, что я могу сделать html с локальными ссылками, чтобы работало в оффлайне (в чём основная цель саса и есть), но надо пару конкретных jpg-ов сложить в конкретные места.

в этом смысле запрос отображения и загрузки картинок никак не перехватывается, его тупо нету, грузятся jpg-и по номеру внутри dll.
и раньше сас тоже не сам грузил картинки, а отдавал html в броузер. сейчас просто отдаётся другой html.

вот и представь себе, что грузится картинка с номером 7549986. и ничего больше. ни координат, ни зума.

я не знаю откуда взялось магическое число 19 и не изменится ли оно когда-нибудь и имеет ли использование его какое-либо обоснование.

я знаю что если число делится на 1024, то разных остатков может быть не более чем 1024 - соответственно остаток от деления - имя папки первого уровня, полученное частное проверяем, меньше ли оно 1024, если меньше - значит больше дополнительных уровней папок не надо, если нет - снова делим с остатком. и так далее. имя файла jpg всегда оригинальное, чтобы можно было найти поиском. 19 вообще ни при чём.

меня больше волнует возможная реализация загрузки и удаления фоток для выделенной области. потому что нормальных мыслей пока нет, только очень страшные.
(0004010)
zed   
29-09-2011 19:26   
Значит надо как-то научить САС отдавать координаты точки, по которой кликнули и как-то привязывать загруженные фотки к этим координатам. Тогда можно будет и по зумам сортировать и с удалением для выделенной области проблем не будет.
Но это всё вопросы второго плана. Вопрос первого плана - как это вообще нормально прикрутить к САС? Чтоб без dll и инишников всяких левых. Т.е. либо сделать частью функционала, либо подкрутить функционал и сделать в виде плагина. А в виде временного костыля маловероятно что оно пройдёт.
(0004011)
zOn   
29-09-2011 19:26   
19 - вроде как максимальный зумм для постСССР пространства.
складывать картинки по координатам и никак более - никаких делений на 1024.

т.е. dll перехватывает ответ, а не запрос? а в ответе разве не приходит инфо о координатах? сейчас не могу проверить. может быть вообще заменить собой вызываемый браузер?

> меня больше волнует возможная реализация загрузки и удаления фоток для выделенной области. потому что нормальных мыслей пока нет, только очень страшные.
загрузка и удаление слоя панорамио работает же. вот и надо от этого плясать.
скорей всего к этой dll надо прикручивать zmp что бы САС работала с кэшем как с любым другим сервисом.
(0004012)
vasketsov   
29-09-2011 20:48   
>либо сделать частью функционала
придётся сильно пописать zmp для panoramio.

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

>19 - вроде как максимальный зумм для постСССР пространства
даже если и так, то можно и заранее 20 взять.

>никаких делений на 1024
гы. смысл в структуре кэша - ограничение числа файлов в одной папке. в случае сохранения фоток в одном тайле (значит заведомо в одной папке кэша) может быть сколько угодно много файлов (скажем, для 18-го зума). то есть исключительно стандартная структура кэша в данной ситуации не решает свою основную задачу - ограничение числа файлов в одной папке. безусловно бонус будет - стандартная структура кэша позволит выполнять операции с выделенной областью. но бонус при отказе от основного смысла - это занятно.
а ещё не понятно, почему нельзя юзать кэш panoramio kml для этого. ведь если точку на карте видно (пусть и на текущем зуме) - значит где-то в кэше panoramio kml есть данные об этой фотке и её координатах. без кэша panoramio kml всё равно глупо юзать картинки, это будет уже не сас.

>dll перехватывает ответ, а не запрос?
ни то и ни другое. dll подменяет body у html-я. в этот момент уже никаких запросов сас не выполняет.

>может быть вообще заменить собой вызываемый браузер?
бессмысленно, проблемы все те же остаются, от браузера они не зависят.

>к этой dll надо прикручивать zmp что бы САС работала с кэшем как с любым другим сервисом
эта dll - временная затычка, исключительно ради простоты отладки без перезапуска программы, загрузилась, отпарсила и выгрузилась. Её в идеале быть не должно вообще.
А должен быть некий плагин (или zmp с кодом внутри), настроенный на:
а) сохранение открытых фоток вручную (это основное)
б) на разбор существующего кэша panoramio kml и загрузку фоток для выделенной области в кэш panoramio photos (это полезный бонус);
в) на удаление из кэша panoramio photos для выделенной области (это полезный бонус);
(0004014)
zOn   
30-09-2011 05:46   
>а ещё не понятно, почему нельзя юзать кэш panoramio kml для этого.
так если сможешь сделать внедрение локальной ссылки в него, то будет супер решение.
(0004015)
bigbambr   
30-09-2011 06:19   
(edited on: 30-09-2011 07:10)
Мне кажется, что нужно просто скачивать каждое просмотренное фото в папку (при заполнении папки 1024 фотками создавать следующую) а в панорамио, к просмотренной/счачаной метке нужно добавлять путь к этому файлу. И цвет метки менять. чтобы было видно, какие файлы закачены. И пусть все файлы будут в одной папке. Главное чтобы метки в панорамио их видели и всё. В конце концов это же не географические данные а медиа, прикрученная к координатам.

и в просмотренной части kml просто заменить пути расположения файла.
например

 <a href="http://www.panoramio.com/photo/46249177">
 <img src="http://mw2.google.com/mw-panoramio/photos/medium/46249177.jpg" width="500" height="375">
 </a>

на

"
<a href="33/17.jpg">
 <img src="33/17.jpg" width="500" height="375">
 </a>
"

где 33 имя папки, 17 имя файла
ну в конце концов имя файла могут составлять и координаты. тогда легче будет показывать его из разных зумов. И не надо париться с множеством папок. все равно никто не будет качать фотографии кило-штуками! а в пяти-пятидесяти папках не так долго просмотреть имена файлов с подходящими координатами.
Или же предлагаю разграничить файлы как в 4 зуме на 64 папки. а вот в них можно создавать подпапки с порядковыми именами в каждой по 1024 картинки.

(0004016)
zOn   
30-09-2011 06:31   
1. структура кэша должна быть. иначе потом замучаетесь прикручивать работу к программе.
2. фотки должны быть привязаны к координатам. ониж не просто так набросаны в панорамио.
остальное - полёт фантазии.
это всё ИМХО
(0004017)
vasketsov   
30-09-2011 09:47   
>если сможешь сделать внедрение локальной ссылки в него, то будет супер решение
это будет идиотизм по ряду очевидных причин. основная из них - невозможность разрулить, какую фотку грузить, а какую нет, в итоге на 14-м зуме по РФ я даже считать не хочу сколько места нужно, при том что почти все фотки ни разу не посмотришь и не откроешь. Я наверное всего в жизни с панорамио (кроме своих) открывал и смотрел фоток 200-300, заведомо меньше 1000. Кроме того, будет необходимо повторно грузить уже существующий кэш kml, чтобы залетели картинки, кэшем нельзя будет обмениваться. Беда с новым кэшем яндекса при переходе в png покажется просто детской забавой, но там деваться некуда, сервер приказал, а тут самому себе придумывать проблемы по меньшей мере странно. В общем лично я категорически отказываюсь лезть внутрь в скачанные тайлы, даже если это тайлы типа kml. Это ещё похлеще, чем править (вкорячивать) дату и геопривязку в тайлах-жпегах.

>почему нельзя юзать кэш panoramio kml для этого
Я имел в виду следующее.
Если абстрагироваться от безосновательных в данном случае желаний распихать фотки в стандартную структуру кэша (ибо никакой связи с тайлами фотки как таковые не имеют), использование стандартной структуры кэша решает исключительно задачу возможности работы с фотками в выделенной области.
Но эту задачу отлично решит и кэш panoramio kml. Сам по себе он достаточен, чтобы определить, какие фотки подпадают под удаление. Точно также можно грузануть все новые фотки внутри определённой области, достаточно пройти по кэшу panoramio kml и грузануть внутрение ссылки. Но нафига это грузить в тот же кэш? И зачем портить совершенно нормальный кэш panoramio kml? Я может вообще хочу на другой сетевой лиск фотки грузить, прикажете туда же kml отправлять? Даже при копировании кэша panoramio photos сас совершенно спокойно пройдётся по кэшу kml и будет иметь список номеров фоток. В общем-то все операции с выделенной областью будут работать. Тонкость ровно одна. Кэш kml должен быть. То есть, если грузануть kml на 12-м зуме, а потом грузануть photos по этой области на 18-м, то будут только фотки из 12-го, явно не все. Но это небольшая забота, ибо если нет kml, то и посмотреть photos в сасе принципиально нельзя. Удалил кэш kml - ну значит сам виноват, грузи по новой.
В принципе в особенно критичный случаях даже координату фотки при наличии интернета можно определить запросом на сайт panoramio.

>иначе потом замучаетесь прикручивать работу к программе
разве? никаких мучений.
1. При открытии фотки по клику не надо знать её координату, чтобы показать её и оригинальный снимок из локального источника. При показе фотка кладётся (при её отсутствии) в локальный кэш и подсовывается внутреннему броузеру совершенно тривиально.
2. При операциях с областью юзается кэш kml.
3. В принципе даже плагин писать не надо. Достаточно ввести понятие аттача для тайла (наверняка в викимапии тоже есть что интересное у векторов, осм тот же наверняка, в общем любые "векторные" тайлы), с соответствующей настройкой своих папок и запроса для скачки, и в "операциях" появится в комбобоксе рядом с panoramio kml пункт panoramio photos.

>фотки должны быть привязаны к координатам. ониж не просто так набросаны в панорамио
они и будут привязаны. только в кэше kml - именно он и отвечает за привязку фоток. зачем дублировать привязку (заведомо огрубляя её, с точностью до тайла) ещё в одном кэше?

>нужно просто скачивать каждое просмотренное фото в папку
оно именно так сейчас у меня и сделано. никакой привязки к координатам, только загрузка отсутствующих фоток в 2 папки (для разных размеров своя папка) при показе.
НО за публичное решение это не прокатит.
я-то конечно обойдусь и таким: в том файле, что я поправил, изменения очень локальные, и даже если он будет изменён в основном репозитории, я с лёгкостью вкорячу туда свою dll. НО желание было поиметь нормальное решение (вплоть до тиражируемости), а не единоличный костыль.

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

>а в пяти-пятидесяти папках не так долго просмотреть имена файлов
недолго - понятие относительное. если хочется разный цвет для скачанных и нескачанных - о поиске по куче папок придётся забыть.
(0004018)
bigbambr   
30-09-2011 10:26   
>недолго - понятие относительное. если хочется разный цвет для скачанных и нескачанных - о поиске по куче папок придётся забыть.

разный цвет по моему очень не трудно сделать. если в ссылке есть http:// то белый, если нет (локальный адрес) то, например, синий.
(0004020)
gpsMax   
01-10-2011 07:31   
> 1024 файла в одной папке, а дальше начинаются проблемы.

Да, примерно так. Велосипеды только изобретать не нужно, есть вполне себе замечательный метод. Всё просто - например, файл 37622112.jpg должен лежать в папке 037\622\112. Тогда в каждой папке не будет более тысячи элементов (вложенных папок или же самих фоток).
(0004021)
vasketsov   
01-10-2011 11:10   
>файл 37622112.jpg должен лежать в папке 037\622\112
Сам уже пока ковырялся допёр, что смысла нет конвертить в int, а просто поделить по три символа.
Тем более что никто не гарантирует, что идентифицирующая часть имени файла фотки останется целочисленной. Не говоря уже о других сервисах.
(0004022)
zed   
01-10-2011 12:33   
А как на счёт БД или на худой конец контейнера какого самопального?
(0004023)
vasketsov   
01-10-2011 13:42   
Давай я сначала сделаю через zmp нормально без dll и залью, ссылку дам, а потом обсудим тонкости и архитектурные ошибки.
Пока что сделал zmp + парсер скрипта для подмены html + удаление фоток по выделенной области.
Сейчас скачку по выделенной области делаю.
зы. Где реализация 'function DoRequest(const AHost, ADoc, ARequestHeader...' ?
(0004024)
zed   
01-10-2011 13:54   
>Где реализация 'function DoRequest(const AHost, ADoc, ARequestHeader...'
Наброски в ревизии 3348, позже ещё был даже класс SimpleDownloader (3748), тоже для целей выполнения единичных запросов как внутрях сас, так и для скриптов.
(0004025)
vasketsov   
01-10-2011 16:22   
>файл 37622112.jpg должен лежать в папке 037\622\112
Может лучше сделать не 037\622\112 а 622\112?
Понятно, что в будущем число папок и файлов в этом случае в сумме может быть и больше 1000, но во-первых, для этого надо грузануть всё без исключения, а во-вторых, это будет ещё очень нескоро, и будет равно 1001.
Пока что получается так что в каждой папке хранится ровно один файл, и ждать новых подпапок в этой папке можно не раньше чем число фоток увеличится на три порядка.
(0004026)
vasketsov   
01-10-2011 19:48   
вот собрал EXE-ху для поиграться.
в архиве ещё и поправленные файлики для zmp к panoramio.
все подробности в архиве в инфофайлике.
как будет понятно что больших багов и недодумок нету - оформлю реквест (думаю что завтра).
на вопросы отвечу.
Название: SAS_With_Panoramio_Photos.rar
Размер: 1.70 Мб
Доступен до: 2011-10-31 22:45:54
Ссылка для скачивания файла: http://ifolder.ru/26090889
(0004027)
zOn   
01-10-2011 19:53   
vasketsov, красава! ты первый, кто реализовал "открытие исходников".
а почему на япапку? в атач не влазит?
(0004028)
vasketsov   
01-10-2011 20:04   
да фиг его знает с аттачем тут что, даже не подумал.
мне туда проще было.
забыл добавить, если фоток в тайле много, они скачиваются долго. не пугайтесь.
из темы ссылки прошу не выносить.
(0004029)
vasketsov   
01-10-2011 21:18   
залил сюда
SAS_With_Panoramio_Photos_V2.rar
более корректно работает с галочкой перекачки существующих файлов (галочка работает по kml) + корректно считается и отображается размер скачанных картинок.
зы. ступил и не сложил в этот архив остальные файлики. так что с япапки всё равно качать, а эта версия поверх, тут только exeха.
(0004030)
zed   
02-10-2011 04:45   
1. Ругается: ZylGPSReceiver - Demo version runs only whith Delphi IDE.
2. Не получилось отменить загрузку выделенной области
3. Загрузка не информативна: не понятно, сколько загрузилось (и загрузилось ли) и сколько ещё ждать
4. Аналогично и при просмотре - пока не будет окончена загрузка висят часики и мы даже карту подвинуть не можем (не говоря уже об отмене загрузки). В идеале, тут надо открывать окошко браузера и вместо фотки показывать крутящиеся часики, чтоб было видно, что идёт загрузка. Плюс, если закрыть этот браузер - загрузка отменится.
5. Сохраняет снимки и маленькие и большие, но большие из программы просмотреть никак не получается.
(0004031)
vasketsov   
02-10-2011 08:08   
1. Ну, другого нету у меня. Если и правда без дельфы не работает - ну извиняйте.
2. Как это? Вот я выделил пару тыщ тайлов на 14-м зуме вокруг своей деревни, начал грузить - пргрузилось тайлов 800 - приостановил, после остановки продолжил, потом остановил совсем. Просто когда останавливается, надо ждать догрузки всех аттачей для тайла, сас же потайлово грузит (признак перехода к следующему тайлу атомарный), а тайлы у kml, на один тайл приходится может сотня фоток. Подумалось, что лучше догрузить всё для тайла, чем бросить половину и потом начать со следующего (текущий тайл как-никак догрузился).
4. Да, самому не очень с часиками понравилось, но без их вообще беда была. Перенесу без часиков на послеоткрытие окошка (собственно туда где Text и подставляется в броузер, там же кстати Caption надо переделать нормально*).
>Плюс, если закрыть этот браузер - загрузка отменится
А вот сейчас как раз не отменится. Потому что броузер только показывает, отменяется показ картинок. А раз они грузятся ДО того как в браузер попадёт html с локальными фотками - закрытие браузера приведёт только к отказу от показа локальных фоток.
5. Да, пока что это косяк, но косяк html-я, непосредственно к программе отношения не имеет. В принципе можно вообще обе фотки сразу загружать, сделать типа 2 "закладки", и на каждой по фотке.

По пункту 3 (неинформативной загрузке):
а) сейчас размер картинок плюсуется к размеру скачанного, то есть, сас на общих основаниях пытается прогнозировать потенциальный объём скачанного.
б) прибавлять количество скачанных картинок к скачанным тайлам не рискнул.
в) видимо придётся после каждого обработанного тайла писать, сколько аттачей скачанно, сколько пропущено, сколько ошибок скачки. И в конце закачки итог подбивать. Будет мегаинформативно. А сейчас конечно, если галка "обновлять существующие" сброшена, kml-ки не перекачиваются, а фотки всё равно пытаются скачаться, хотя это никак не отражается в логе. В общем, если нет противопоказаний, так и сделаю.

*) в коде есть кусок, котрый переведёт в читаемый текст весь html-понос (правда тоже с ошибкой, там амперсанда в одном месте нет), вот его выделю отдельно и позову.
(0004032)
T_Im   
02-10-2011 17:02   
Вставлю свои 5 копеек.

Я вижу процесс скачивания фоток с панорамии так:

1) SAS качает kml-тайл, после скачивания отдает его путь плагину
2) плагин обрабатывает kml-тайл:
 выдирает ссылки и координаты фотографий, проверяет присутствие фотографий в кеше, качает недостающие фотографии, сортирует их по папкам (на основании KML-файла: имя полигона=имени папки, куда будет положена фотография если ее координаты попадают внутрь полигона), локализует в тайле ссылки на локальные
3) после отработки плагина передается управление на SAS для скачки следующего тайла.

Скрипты отсюда
http://forum.ru-board.com/topic.cgi?forum=5&topic=29416
у меня есть, могу их собрать и скомпилировать в консольную программу, которой надо будет передавать в параметрах из SAS при загрузке каждого kml-тайла только путь к нему и (опционально) прокси.
(0004033)
vasketsov   
02-10-2011 17:37   
залил сюда SAS_With_Panoramio_Photos_V3.rar
все нужные для игр файлики есть в архиве
включая информационный (обязательный для чтения)
поправлено всё кроме непоказа оригинальной фотки.

SAS_With_Panoramio_Photos_V2.rar можно удалить
(0004034)
vasketsov   
02-10-2011 18:28   
хрен его знает, что мешает показываться оригинальной фотке
сделал показ через javascript )))))
(0004036)
zed   
03-10-2011 05:05   
>поправлено всё кроме непоказа оригинальной фотки.
Ещё в известные недоделки:
В режиме загрузки выделенной области, при нажатии Пауза, загрузка не останавливается до тех пор, пока не будут загружены все аттачменты для текущего тайла. При нажатии Отмена, загрузка тут же не прерывается, а программа перестаёт реагировать на действия пользователя до тех пор, пока текущая фотка не загрузится. Что при размерах фоток в 5Мб уже критично, тем более, что юзер никак не информирован о том, что сейчас делает прога. Не знаю, это так задумано или нет (кода не вижу), но как-то нужно эти моменты разрулить? Т.е. чтобы САС реагировал на действия пользователя в тот же момент, как ему была отдана команда, а не пока он там что-то докачает.
(0004037)
vasketsov   
03-10-2011 06:32   
>программа перестаёт реагировать на действия пользователя до тех пор, пока текущая фотка не загрузится
всё ещё хуже. если pause - скачка фоток для тайла продолжалась до конца. сделаю проверку как для terminated, чтобы сваливало при pause и не переходило на следующий тайл.
(0004038)
vasketsov   
03-10-2011 07:45   
(edited on: 03-10-2011 07:50)
Загрузил SAS_With_Panoramio_Photos_V4.rar.

Файлики настроек panoramio соответствуют тому, что поведение программы не меняется, кому надо - включает нужное сам. впрочем, это как пожелаете.
в файле info.txt более подробно описал параметры и как что именно править для включения.

Кроме этого поправлено:
а) при отмене скачки, если есть оставшиеся фотки, они не скачиваются, переход на следующий тайл не выполняется.
б) показ большой фотки сделан через javascript.

SAS_With_Panoramio_Photos_V3.rar можно удалять.

Если до вечера не будет новых баг - вечерком залью в репо и оформлю реквест.

(0004039)
zed   
03-10-2011 12:27   
Новых багов вроде не заметил, так что можешь заливать.

P.S. Чувствую, что реквест будет довольно масштабным, так что решение о его принятии будет за vdemidov'ым или feya.
(0004040)
vasketsov   
03-10-2011 17:24   
залил и сделал реквест
зы. с инетом сегодня беда какая-то у меня
(0004045)
gpsMax   
05-10-2011 05:28   
А опция "оставить как было" есть?
(0004046)
zed   
05-10-2011 07:52   
Есть.
(0004063)
zOn   
09-10-2011 13:30   
так работает или нет? чего не закрываем?
(0005580)
nvet   
19-02-2012 14:16   
Версия SAS для сохранения фоток Panoramio.
Собрана из исходников от 180212.
Архив с экзешником(больше ни чего не надо)- SASPlanet_180212.rar.
(0005582)
zed   
19-02-2012 14:22   
Код покажите?
(0005584)
nvet   
19-02-2012 15:04   
Измененные исходные файлы:измененные файлы_180212.rar
(0005586)
vasketsov   
19-02-2012 15:57   
(edited on: 19-02-2012 16:40)
вот это новости )))
в двух словах можно насчёт реализации?
а то что-то файлов изменёных вроде как маловато будет.
Хм. Файл u_MapLayerWiki не версионирован.
И настройки с параметрами (и уж тем боеле все "магические строки") надо выносить из EXE. И качалки нет ((((
[DCC Error] frm_IntrnalBrowser.pas(333): E2003 Undeclared identifier: 'SetPanoExt'
В сад.

зы. Я так понимаю, это был толстый намёк, что пора бы уже сделать эту доработку до релиза? Там как бы много правок было в качалке да слоях с того момента как я это делал, но сделаю, код у меня остался. Если были какие-то претензии по последней версии EXE-хи - пишите.

(0005588)
nvet   
19-02-2012 19:22   
В класс TVectorDataItemBase добавлена структура FPropExt(расширенные с-ва:наличие на диске - DiskImag,имя фотки - NameImg).При создании точки из FDesc(с помощью TRegExp) получаем имя фотки и если оно есть проверяем наличие на диске файлов квадрата(64*64),медиума,оригинального и сохраняем в битовый флаг
DiskImag.В результате для класса TWikiLayer для слоя Panoramio доступны расширенные с-ва точки.При отрисовке анализируются эти с-ва.
Первоначальная загрузка фоток происходит в TfrmIntrnalBrowser с помощью встроенного TEmbeddedWB.Используются различные события и анализ с помощью TRegExp.Кроме того добавлен TImgView32 для просмотра оригинальных фоток.
Метод SetPanoExt используется для динамического изменения FPropExt.

Магических строк в SAS еще очень много(Placemark т.д.)."Panoramio KML" это name из zmp ,надо же определить что слой Panoramio.URL можно и вынести,но это усложнит реализацию.

Качалка изначально не задумывалась так как 3/4 фоток "отстой" и сразу их грузить не стот.
(0005589)
vasketsov   
19-02-2012 19:38   
(edited on: 19-02-2012 19:45)
>можно и вынести,но это усложнит реализацию
Зато упростит потом поддержку. Не зря я делал это как общий интерфейс для "аттачей" тайлов с параметрами в zmp, а не заведомо одноразовую реализацию "panoramio only". В таком виде конечно это не прокатит.

>Кроме того добавлен TImgView32 для просмотра оригинальных фоток
Я от этой идеи почему-то отказался, сейчас уже не вспомню поди, начну делать - вспомню - напишу. А может и сделаем также с заменой на имидж, если те проблемы уже устранились.

>Качалка изначально не задумывалась
Вся соль в качалке и операциях с выделенной областью ))) Когда куда-то прёшься где заведомо нет инета - важно иметь кэш фоток, а не тыкаться в каждую ещё дома при инете.

Вощем возьми SAS_With_Panoramio_Photos_V4.rar, почитай текстовичок, потести. Комментарии и пожелания приму к сведению. Несмотря на некоторую небрежность (типа проект не билдится), есть грамотные места в коде; хотелось бы понять, чего добавить к моей старой реализации, коли уж сяду завтра её делать.

(0005590)
nvet   
19-02-2012 19:59   
В SAS_With_Panoramio_Photos_V4.rar нет кода.
Без Дельфи не запускается(из за zylgpsrec).
(0005591)
vasketsov   
20-02-2012 03:13   
регистрируешься на битбукете - и сюда:
https://bitbucket.org/vasketsov/sasplanetvsa/src
но там сильно старый код, сейчас уже сильно многое поменялось.
(0005594)
nvet   
21-02-2012 17:27   
>регистрируешься на битбукете - и сюда:
Зарегистрировался(nvet),при переходе по ссылке - Error
Access denied.
(0005595)
vasketsov   
21-02-2012 20:10   
(edited on: 21-02-2012 20:27)
Всё, залил эту многострадальную доработку.

Читаем SAS_With_Panoramio_Photos_Info.rar и тестим в нужных режимах.
Хоть делал на основе старого кода, но что-то где-то могло поменяться, мог сам пропустить что-нибудь по ошибке. В общем конечно баги могут быть легко.

В случае критики javascript-а - пишем и предлагаем свой.
Напоминаю, javascript юзается в переписанном броузере panoramio (в случае включения этой фичи) для смены картинок.

зы. Оригинальная картинка не показывается в TImgView32, потому что на это никак нельзя влиять из zmp. Покуда текст страницы формируется скриптом - там можно забацать всё что угодно, со своим блекджеком и шлюхами. А ещё потому что картинок (точнее аттачей) легко может быть больше чем 2 (а не только дефолтная и большая картинки).

ззы. Известные "багофичи":
1. Сохранение сессии скачки аттачей в sls не предусмотрено, восстанавливаться будет скачка карты (то есть если сохранить сессию скачки "panoramio фотографии" в sl и потом открыть этот файл - будет качаться "panoramio kml"). Как бы конечно косяк, но дело в том, что (де)сериализацию сессии скачки надо бы конечно переписывать, там каждый второй раз вылазят "числа чурова" в проценте скачки..... просто лениво с этим ковыряться.
2. Это сложнее концептуально. Непонятно, что выводить в статусбаре, если например скачано 50 пар фоток (из 63 пар фоток) и одна маленькая (на этом скачку прервали) размером 35 мегабайт для двух тайлов panoramio. Как бы ужей с ежами складывать некорректно, хотя с другой стороны размер скачанного хотелось бы и просуммировать.

(0007535)
vdemidov   
19-06-2012 21:10   
Сломано
(0008001)
alexey65536   
29-07-2012 15:35   
А можно ли надеяться, что будет когда-нибудь починено?
(0008006)
vdemidov   
29-07-2012 18:51   
Можно. Когда-нибудь обязательно.
(0009542)
vasketsov   
14-10-2012 23:49   
Файлик из ParseAttachmentScript_NEW.rar надо засунуть в zmp.
Параметры остались те же.
Восстановлено.