Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » 2gis db-updater

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Sinclair83

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2gis db-updater
Текущая версия: 1.0
 
 

 
 
Предназначение:
Загрузка и последующая распаковка актуальной версии базы данных от 2gis (для выбранного города) в каталоги, определённые пользователем. Перед началом загрузки программа анализирует/сверяет версии БД (локальный zip-архив с тем, что есть на сервере в данный момент). Вывод на экран информации/мини отчёта об актуальной версии БД (только! если это новая загрузка). Очистка каталога с zip-архивами БД(по желанию пользователя) от устаревших версий. Внимание! данное действие распространяется только на конкретный город, выбранный в данной сессии (устаревшие файлы от др. городов при этом не затрагиваются). Произвести удаление устаревших файлов возможно только после окончания процесса загрузки актуальной версии БД.
 
 
Системные требования:
ОС:             Microsoft Windows 7 SP-1 и выше  *
ОЗУ:           Потребляет ~5 МБ  *
Тип:            Портабельна от рождения
другие особенности...
 
 
Лицензия:
Бесплатна, для некоммерческого использования.
(специально для Ru-Board)
 
 
Описание и принцип работы:
Крохотная по нынешним меркам/временам программа(менее 1МБ), которая не требует установки. Всё действо происходит в стандартной консоли. Ну или почти всё...
Отображает ход выполнения процесса загрузки (самописный текстовый прогрессбар и ещё некоторая инф-я, по мелочи). Бонусом идёт возможность возобновления ранее прерванной(по каким-либо причинам) загрузки. При этом количество и вид отображаемой инф-и будут несколько разниться.
 
При запуске программа предложит вам ввести имя интересующего города. Здесь нужно внести некоторую ясность. На самом деле вводить нужно не имя города как такового, а имя БД(латинскими буквами). Иногда они совпадают, но бывает что и различаются. Также/соответственно(в некоторых случаях) отличается и ссылка на страницу, откуда берётся инф-я для дальнейшего анализа. Не заметил этого сразу. Вот несколько ярких тому примеров...
 
Важно!
Вводить имя БД нужно именно так, как указано на сайте 2gis(включая регистр букв!). Потому что в программу вшит список с правильными именами БД. Город, который запросил пользователь ищется в этом списке. И если введённая пользователем строка не находится в списке, то выводится сообщение об ошибке. Понимаю, что запомнить правильные имена БД для многих городов может быть нелегко. Поэтому и был создан такой список. Им всегда можно воспользоваться, если вместо имени БД ввести "?". Думаю, что это будет намного удобней, чем "вбивать" с клавиатуры и избавит от ошибок(а также открытия сайта 2gis, чтобы посмотреть правильное имя БД). Плюсом такого подхода является также и то, что нельзя вводить абы что и абы как (то есть "абракадабру").
 
В список занесены города следующих стран:
Россия,  Казахстан,  Украина,  Киргизия  и  Узбекистан.
 
Изменить или дополнить этот внутренний список нельзя! Да и нужно ли?
Дополнительно...
 
 
немного предыстории...
 
Ссылка
md5  : 5F496F5A93B197ABEA04E6ECBB024774
sha-1: 705A3DE9E18EB50D2226C9D6373B82884A509384

Всего записей: 740 | Зарегистр. 07-01-2009 | Отправлено: 21:38 13-05-2020 | Исправлено: Sinclair83, 12:13 15-10-2020
Sinclair83

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всё! Можно "пинать". Удачи!
 
P.S.
Сейчас подумал вот о чём(конечно если это будет кому-нибудь интересно): в принципе, можно передавать полученную ссылку(на "свежую" БД) внешней программе для загрузки файлов(например, idm), которая справится с этой задачей более професионально. Откровенно говоря мне и самому не нравится эта постоянно "плавающая" скорость и соответственно счётчик оставшегося времени(в режиме докачки). Но... пока что только так. Увы и ах... Кстати, оставшееся время в режиме "загрузка БД с нуля" расчитывается немного по-другому принципу (опираясь на проценты и прошедшее время с начала процесса). То есть при расчёте не участвует такая важная величина как скорость. НО этот вариант показывает более реальное время. Парадокс! Хотя такой подход считается неправильным. Так как стоит случиться небольшой заминке/остановке, ну то есть когда скорость упадёт до нуля на какое-то допустимое время, то и счётчик тут же начнёт врать(потому что время продолжает тикать, а процесс не двигается). Так что это только до первой заминки, что не есть хорошо.
 
Во-втором же случае замеряется скорость загрузки и на основе этих данных расчитывается оставшееся время. Так сказать по-науке. Всячески пытался сгладить эти скачки, но увы. Сейчас замеры произвоодятся через один шаг(здесь подразумевается не время, ни секунды, а очередная порция полученной от сервера информации). Также пытался подмешать сюда и данные, полученные первым способом(то есть каждый интервал иметь не одно, а два значения расчётного времени и соответственно посчитать среднее арифметическое). Но и это мало чем помогло. Так и не удалось добиться сколько-нибудь достоверных/стабильных показаний. Забросил и оставил только замер скорости.
Была ещё идея запоминать каждый замер скорости (заносить в список). И с каждым шагом считать среднее арифметическое всех чисел, полученных прежде. Но и здесь получил неудовлетворительный результат. Поэтому прошу строго не судить. Да, сам вижу/знаю, что не очень хорошо получился расчёт. Честно пытался сделать нормально, но другого не придумал.
 
P.S. #2
Вроде простая задача, а сколько нюансов.


Всего записей: 740 | Зарегистр. 07-01-2009 | Отправлено: 14:48 15-05-2020 | Исправлено: Sinclair83, 19:31 15-05-2020
generator324

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sinclair83
По ссылке файла уже нет

Всего записей: 910 | Зарегистр. 11-01-2019 | Отправлено: 12:01 15-10-2020
Sinclair83

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
generator324,
 
поправил ссылку в шапке.

Всего записей: 740 | Зарегистр. 07-01-2009 | Отправлено: 12:16 15-10-2020
generator324

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sinclair83
Работает, проверенно!
Но оно качает "не оттуда": на выходе получается 2-й архив, .zip.msi. msi - внутри зипа-а. Мне, например, в данном случае msi совсем не нужен, более того - ВРЕДЕН.
Почему? Во-первых, он (msi-установщик) проверяет была ли проведена установка самого ДубльГис, а у меня ДубльГис - распакованный, не установленный. Потому, как задрали ad-ware в свои инсталляторы пихать - в самом продукте рекламы и так навалом. Во-вторых, зачем качать msi, который всё равно НЕ БУДЕТ устанавливаться, если сразу можно просто скачать ОТДЕЛЬНУЮ БАЗУ по  
ссылке?
Заменяем ГОРОД на нужный город, и получаем СТРАНИЧКУ, на которой ссылки вида:

Код:
http://download.2gis.com/arhives/2GISData_N_ГОРОД-146.orig.zip
, содержащие чистую базу, безо всяких ненужных дополнений...
Из хотелок: Хотелось ВСЁ и СРАЗУ!
А именно - прописать НУЖНЫЙ ГОРОД сразу в settings.ini и там же прописать вкл/выкл автоматического режима. Т.е. прописал конфиги, запустил - оно молча скачало и распаковало по указанному пути.

Всего записей: 910 | Зарегистр. 11-01-2019 | Отправлено: 14:22 15-10-2020
Sinclair83

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
generator324,
 
к сожалению, мне не удалось скачать отдельную базу .orig по шаблону приведённой ссылки. И если открыть, например эту ссылку, то наблюдаю такую картину:

Цитата:
База данных Екатеринбурга
Октябрь 2020, .orig.zip, 0.00 MB  

В итоге: "404 Not Found". Посмотрел несколько городов и везде одна и та же картина. Вероятно теперь linux-ссылка недоступна. Да, и версии БД разнятся относительно Windows.
 
Но... полистав смежную тему предполагаю, что в итоге нужен файл, типа "Minvody_DGDAT". Его можно достать из *.msi с помощью 7zip'a. Также в msi присутствует "MarkInstall" (полагаю, что в данном случае это балласт). Что дальше делать с этим *.dgdat - без понятия, ибо не пользуюсь этой программой. Вероятно его нужно ассоциировать с grym.exe + использовать лаунчер ("положив" всё вместе/рядом). Таким образом можно миновать процесс установки. Если пользуетесь portable-версией, то подозреваю, что для Вас это всё знакомо и не ново.
 
P.S.
Ни разу не для перевода стрелок, но в смежной теме Farik90 плотно занимался программой. Может подскажет лучший вариант. Кстати, вопрос обновления БД также поднимался здесь. Оказывается непопулярно.

Всего записей: 740 | Зарегистр. 07-01-2009 | Отправлено: 18:47 15-10-2020
generator324

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sinclair83

Цитата:
к сожалению, мне не удалось скачать отдельную базу .orig по шаблону приведённой ссылки. И если открыть, например эту ссылку, то наблюдаю такую картину:

У них там сейчас что-то глючит А может, и форум читают, и наблюдают наши "потуги"
А вообще, из моей более чем 10-ней статистики, у них "Линукс-версии" (на самом деле, базы одни и те же), обновляются гораздо позже, чем Виндоус-версии. Обычно - после 15-20 числа каждого месяца, но бывают и более длительные задержки. Не напрягаются ребята по-видимому, 10 лет одна и та же картина...

Цитата:
Но... полистав смежную тему предполагаю, что в итоге нужен файл, типа "Minvody_DGDAT".  

Да. Его, конечно, можно и из .msi-файла "достать", но ещё и переименовывать надо! Получается "двойное преобразование" - лишний георрой!  
Кстати, если быть честным до конца, программа сейчас работает неправильно: она "кладёт" нужный файл в "C:\Program Files (x86)\2Gis" как это прописано в .ini, а сысл? Его ж ещё раз распаковать надо и на этот раз уже по пути "C:\Program Files (x86)\2Gis\3.0\" - там где и содержится сам grym.exe (запускаемый файл Дубль Гис). Просто в случае, который разбирали в исходной теме, в самом архиве (линукс-версия) содержится структура, которая при распаковке уже разворачивается в нужное место, а с .msi ещё и нужны "танцы с бубном".

Цитата:
Что дальше делать с этим *.dgdat - без понятия, ибо не пользуюсь этой программой. Вероятно его нужно ассоциировать с grym.exe + использовать лаунчер ("положив" всё вместе/рядом).  

Именно так. Только к этому ещё и прибавляется переименование самого файла - он должен правильно называться. А эта "правильность" у всех городов своя.
В общем, я ещё в прошлые разы писал: .msi - НЕ НУЖЕН !!!

Цитата:
Ни разу не для перевода стрелок, но в смежной теме Farik90 плотно занимался программой.

Да тут дело совсем не переводе - я ж говорю: и так более 10-лет работает. И проблема, которую я поднял по весне, просто заключалась в ОПТИМИЗАЦИИ - у меня ненужные, старые архивы при этом копились.
Вы уж, извините за прямоту, слишком Серьёзно к этому вопросу подошли - я ж спрашивал простое решение для удаления старых файлов на bat/vbs. В идеале - на vbs, он мне более привычен. Но в теме закозлили, как всегда - троллей у нас хватает, а я не сдержался. Потому и перешёл в ЛС.

Цитата:
Кстати, вопрос обновления БД также поднимался здесь. Оказывается непопулярно.

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

Всего записей: 910 | Зарегистр. 11-01-2019 | Отправлено: 19:22 15-10-2020
generator324

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sinclair83
Проснулись! Года не прошло - Проснулись!
Ну, что за рукожопы!

Всего записей: 910 | Зарегистр. 11-01-2019 | Отправлено: 09:27 18-12-2020
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Программы » 2gis db-updater


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru