Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Наборы обновлений для Windows XP/2003/Windows 7 (http://forum.oszone.net/forumdisplay.php?f=62)
-   -   Утилита для своевременного обновления разного софта (http://forum.oszone.net/showthread.php?t=100372)

fantik 10-02-2008 23:50 737512

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

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

Скриншот:


Соответственно, настройки :

1. Адрес странички в интернете, откуда берется новая версия
2. Префикс и суффикс - это кусочки кода страницы, между которыми, собственно, и находится искомая версия в коде HTML
3. Номер вхождения - если программа найдет несколько кусочков кода prefix и suffix, то вхождение - как раз порядковый номер нужного (с версией).
4. ID и Название - соответственно, хранимый т.н. код, например, "winrar" и отображаемое название, напр. "Архиватор WinRAR"
5. Поле внизу и кнопка "Код HTML" нужны для правильного поиска вхождения, так как существуют разные кодировки страниц и т.п., программа их игнорирует. Но текстовые редакторы, как правило, переводят в правильную кодировку. И при копировании в программу кода из текстового редактора, может нарушиться двоичный код фразы, хоть и сохранится ее внешний вид, и программа не сможет ничего найти. Так что лучше всего копировать prefix и suffix именно из этого поля.

Кнопки "Тест", "ОК" и "Отмена", я полагаю, не нуждаются в комментариях.


Пример :

<a href="" class="version">Version: 1.0</a>

Префикс:
<a href="" class="version">Version: (с пробелом в конце)
Суффикс:
</a>

Несколько хинтов по поводу пользования :

- Высвечиваемое название есть ссылка на страницу, с которой берется версия, можно надавить, и попадете на сайт разработчика
- Если вдруг версия обновилась (отображается зеленым), то в ini-файле она обновится ТОЛЬКО после двойного щелчка по строке.
- Если таймаут соединения, или производитель решил поменять код страницы - в поле "Версия" будет высвечиваться "Error".

В комплекте идёт файл ini с некоторыми моими настройками, в том числе с поиском новых версий UpdatePack-XPSP3-Rus с этого форума. Для ознакомления (пользования).

Берем программу отсюда: VerChecker 1.1 503.06 KB
Исходники: Delphi7, 20 KB Требуется TMS Component Pack for Delphi 7
Если кому пригодится - выкладывайте настройки для своих программ из ini-файла

fantik 11-02-2008 00:55 737555

Чуть-чуть не доглядел, обработчик ошибки на строку ниже поставил, программа вместо вменяемого ответа при пустых значениях полей выдавала Access violation. В остальном функционал тот же.

dimez 11-02-2008 11:07 737726

fantik, Сразу предупреждаю - понадобится поддержка регэкспов.
А ещё лучше договориться с производителем программ, чтобы те экспортировали xml-файл с версией софта и дёргать его.
P.S. Лет 7 назад писал систему сбора информации с большого количества сайтов, префиксы и суффиксы вбивались несколькими десятками людей.

fantik 11-02-2008 12:40 737797

dimez,
Вы думаете, я продавать что-ли программу собираюсь? :tongue:
Или ради пары десятков программ для каждого надо договариваться с производителями?

Спасибо, конечно, что предупредили, что бы мы без вас делали :up

Кстати, если вы писали программу с регэкспами, зачем нужны были в вашей программе префиксы и суффиксы?

Debugger 11-02-2008 15:01 737902

fantik, недавно видел похожую вещь, называется SuMO (Software Update MOnitor), искать здесь.

fantik 12-02-2008 00:29 738234

Debugger,
мерси за ссылку, погуглил, не нашел, наваял свою быстренько, может кому сгодится

aset 12-02-2008 16:08 738649

fantik,

Утилита для слежения за обновлениями программного обеспечения, установленного на компьютере пользователя. Главная задача SUMo (Software Update Monitor) - уведомление о появлении новых версий приложений, с которыми вы работаете. Для проверки наличия обновления к той или иной программе, достаточно перетащить исполняемый файл программы в окно SUMo. В этом окне можно увидеть название приложения, номер версии, название компании-разработчика и информацию о наличии обновлений. SUMo удобна тем, что позволяет проверить наличие обновлений, не открывая при этом сами программы. С помощью SUMo можно проверять апдейты сразу для нескольких приложений, а затем выборочно загружать их.

ftp://ftp2.kcsoftwares.com/kcsoftwa/files/sumo.exe

dimez 12-02-2008 16:08 738650

Цитата:

Цитата fantik
Или ради пары десятков программ для каждого надо договариваться с производителями? »

Им выгодно с вами сотрудничать :)
Цитата:

Цитата fantik
Спасибо, конечно, что предупредили, что бы мы без вас делали »

Ну вот, хотел сделать доброе дело, сразу обсмеяли...
Цитата:

Цитата fantik
Кстати, если вы писали программу с регэкспами, зачем нужны были в вашей программе префиксы и суффиксы? »

Там шире немного задача стояла - выдёргивать не одно число, а несколько блоков со страницы одним запросом(парсинг). Соответственно, люди находили общие части, тут же в preview смотрели - работает или нет, и писали в базу.

no404error 12-02-2008 19:30 738785

Еще есть подобные программы? SuMO - в пролете, подобные VerChecker интересуют :) А то она на моих задачах загибается.

fantik 12-02-2008 20:37 738836

no404error,

А что конкретно интересует?

Я планирую в ближайшие пару недель сделать подобный серверный модуль, с которого по xml программа будет получать текущие версии, скажем, с обновлением в 2-3 часа. И по WEB чтобы можно было посмотреть

no404error 12-02-2008 20:38 738837

fantik
Собирать данные с ~9000 страниц. Кусок текста между X и Y.

fantik 12-02-2008 20:43 738839

no404error,
Насколько часто? Видишь, даже при хорошем интернете по 1-1,5 секунды уходит на запрос версии, соответственно, с 9000 страниц выйдет 3-4 часа...

Или многопоточную писать, или в веб переводить, что, в принципе, тоже означает писать многопоточную.

Напиши в аську, 389893, поговорим, если интересно, насчет заточек под конкретные нужды

no404error 12-02-2008 20:54 738843

fantik
Цитата:

Насколько часто?
Раз в месяц.
Цитата:

Видишь, даже при хорошем интернете по 1-1,5 секунды уходит на запрос версии,
Выделенка на конкретный сервер - 4 мегабита.
Цитата:

соответственно, с 9000 страниц выйдет 3-4 часа...
Хорошо бы и так, но он с определенного момента перестает собирать, а просто выдает Error на все.
Цитата:

Или многопоточную писать, или в веб переводить, что, в принципе, тоже означает писать многопоточную.
В чем и суть. Самому мне лениво, имхо дохода с этого - 0. До этого я собирал (жуть) wget + сортировка miopad-ом + чистка руками :) Думал смогу автоматизировать, но не вышло.

p.S. Сейчас пройду вторым разом и отпишу с какой его начинает трясти. Может полезным окажется :)

fantik 12-02-2008 21:05 738854

no404error,

Да у меня, в принципе, память очищается после каждой итерации, собственно, переполнений никаких быть не должно. Расчитывал на 20-30 сайтов, но, полагаю, и пару десятков тысяч должна выдержать программа, если, конечно, это на экран не в таблице выводить, ибо сама визуальная табличка на 20000 строк будет жрать очень прилично ресурсов.

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

В принципе, и количество потоков могу сделать вариабельным, тоже не тяжело

no404error 12-02-2008 21:10 738862

fantik
После 200 - затыки, после 1000 - сплошные Error.

И результаты не сохраняет.

fantik 12-02-2008 22:00 738887

no404error,
результаты не сохранит - там кликать надо не каждой строке

А можно ваш ini-файлик глянуть?

no404error 12-02-2008 22:35 738900

fantik
В личке варианты :)

fantik 12-02-2008 23:01 738918

no404error,

У меня 502 Bad Gateway выдает на все УРЛы.

А не может ли быть включена на сервере защита от кучи пакетов, идущих с одного айпи? Сомневаюсь, чтобы программа была виновата. Она ж простая, как два пальца...

Кстати, посмотрите, что отвечает сервер после прохождения всего списка - просто войдите в редактирование, и выберите "Код HTML", что выдаст, интересно

no404error 12-02-2008 23:10 738926

fantik
Цитата:

У меня 502 Bad Gateway выдает на все УРЛы.
Он закрыт для внешних IP.

fantik 13-02-2008 02:18 739024

Цитата:

Цитата no404error
Он закрыт для внешних IP. »

Это, безусловно, здорово. Но не мог бы ты сам в таком случае проверить реально, что выдает сервер после всех попыток доступа?

no404error 13-02-2008 02:38 739032

fantik
Цитата:

Это, безусловно, здорово.
Увы и ах. 31 декабря гости (незарегистрированные пользователи) с русских IP положили сервис намертво. После чего его и закрыли для внешних.
Цитата:

Но не мог бы ты сам в таком случае проверить реально, что выдает сервер после всех попыток доступа?
Выдает код страницы.

fantik 19-02-2008 14:15 743846

no404error,

Выложил консольную версию.

Пользоваться - просто запустить в той же папке, где лежит verchecker.ini

Если запустить с ключом /save, будет сохранять в папке pages коды страниц, которые просматривает (легче отловить баг, имея код страницы).

З.Ы. алгоритм чтения INI-файла не оптимизировал, поэтому довольно долго (пару минут) считывает твой INI-файл. Легко отследить окончание этого процесса по загрузке процессора.

Брать здесь

fantik 20-02-2008 12:29 744568

no404error,
Жду репорт... Если баг имеет место быть, надо ж его исправлять!

Berline 04-07-2008 10:48 842034

Будет ли доработка модификации программы?

Пы.Сы. ни простая ни консольные версии не откликнулись на мои запросы скачацо...

fantik 04-07-2008 12:46 842121

Обновил ссылки, выложил исходники.

Котяра 04-07-2008 13:25 842146

Цитата:

Цитата fantik
Берем программу отсюда: VerChecker 1.1 503.06 KB »

fantik, Сделайте зеркала ссылок на ifolder.ru.
Этот сервер Deposit Files требует ждать 100 секунд...

samsobi 04-07-2008 14:36 842216

Котяра, ссылка на ипапку тута


Время: 16:57.

Время: 16:57.
© OSzone.net 2001-