Difference between revisions of "FtpSpider"
m (еще немного подправил) |
|||
Line 11: | Line 11: | ||
}}[[Category:Python]][[Category:Python_Bot]][[Category:xmpppy]][[Category:GPL]] | }}[[Category:Python]][[Category:Python_Bot]][[Category:xmpppy]][[Category:GPL]] | ||
− | Бот является [[fork|ответвлением]] (форком) [[Neutron|Нейтрона]]. Основное предназначение — следить за | + | Бот является [[fork|ответвлением]] (форком) [[Neutron|Нейтрона]]. Основное предназначение — следить за деревом файлов на определенном [[FTP]]-сервере и сообщать пользователями о тех изменениях, которые их интересуют. |
+ | |||
+ | Исходный код можно получить из [https://svn.jrudevels.org/ftpspider/ SVN-репозитария] или скачать [http://jrudevels.org/index.php?pg=downloads.php&dir=ftpspider стабильную версию]. | ||
+ | |||
+ | == Алгоритм == | ||
+ | Бот работает по следующему алгоритму: периодически производится сканирование FTP-сервера -- создается снимок дерева файлов. Далее определяется разница по сравнению с предыдущим снимком. Из этой разницы для каждого пользователя отдельно выбираются интересующие его изменения и полученный отчет отправляется на его [[JID]]. | ||
+ | |||
+ | Сам бот состоит из двух частей: | ||
+ | * Первая часть является постоянно запущенным ботом, созданным на основе бота neutron. Он принимает команды, общается с пользователями, сохраняет настройки и рассылает отчеты. | ||
+ | * Вторая часть -- многопоточный FTP сканер. Он создает снимок, высчитывает разницу и статистику и полученные данные отправляет боту. | ||
− | |||
− | |||
== Команды == | == Команды == | ||
Line 75: | Line 82: | ||
== Ссылки == | == Ссылки == | ||
* [http://bugs.jrudevels.org/index.php?tasks=all&project=7 багтрекер ftpspider-а] | * [http://bugs.jrudevels.org/index.php?tasks=all&project=7 багтрекер ftpspider-а] | ||
+ | * [https://svn.jrudevels.org/ftpspider/ репозитарий] | ||
+ | * [http://jrudevels.org/index.php?pg=downloads.php&dir=ftpspider стабильные версии] | ||
[[Category:Bot]] | [[Category:Bot]] |
Revision as of 16:09, 21 May 2007
FtpSpider | |
---|---|
Информация | |
Сайт: | запись в блоге |
Язык: | Python |
Библиотека: | xmpppy |
Лицензия: | GPL |
Характеристики | |
Мультиязычность: | да |
Расширяемость: | да |
Discovery: | нет |
Ad-hoc команды: | нет |
Бот является ответвлением (форком) Нейтрона. Основное предназначение — следить за деревом файлов на определенном FTP-сервере и сообщать пользователями о тех изменениях, которые их интересуют.
Исходный код можно получить из SVN-репозитария или скачать стабильную версию.
Contents
Алгоритм
Бот работает по следующему алгоритму: периодически производится сканирование FTP-сервера -- создается снимок дерева файлов. Далее определяется разница по сравнению с предыдущим снимком. Из этой разницы для каждого пользователя отдельно выбираются интересующие его изменения и полученный отчет отправляется на его JID.
Сам бот состоит из двух частей:
- Первая часть является постоянно запущенным ботом, созданным на основе бота neutron. Он принимает команды, общается с пользователями, сохраняет настройки и рассылает отчеты.
- Вторая часть -- многопоточный FTP сканер. Он создает снимок, высчитывает разницу и статистику и полученные данные отправляет боту.
Команды
Работа со списками
- list -- просмотреть списки. (Include -- то, что интересно. Exclude -- то что надо пропустить)
- add -- добавить полный URL или его часть в список Include
- exclude -- добавить полный URL или его часть в список Exclude
- del -- удалить адрес. Можно указать сам URL или его номер из !list
- clear (all, include, exclude) -- очистить все или какой-то из фильтров отдельно.
Личные предпочтения
- show -- в каком виде высылать url:
- unquoted -- неэкранированный
- quoted -- экранированный (по-умолчанию)
- full -- полный (по-умолчанию)
- path -- только путь без сервера
- mode -- в каком виде вы предпочитаете получать информацию:
- message -- простое сообщение
- chat -- в чате (по-умолчанию)
- headline -- как новость (должен поддерживать клиент)
- filter -- тип информации:
- add -- то, что добавленно (по-умолчанию)
- del -- то, что удалено
- all -- и то и другое
Работа со статистикой
- stats -- показать статистику, собранную во время последнего обхода, и режим вашей подписки на неё
- stats <param> -- изменить режим подписки:
- full -- получать полную статистику, как её показывает !stats без параметров
- brief -- получать сокращенный вариант
- none -- не получать статистику (по-умолчанию)
Помощь
- commands -- список команд
- help -- справка с примерами
Остальное
- quote -- экранировать переданный адрес (один!)
- unquote -- разэкранировать переданные адреса (сколько угодно)
- test -- выслать пример сообщения и статистики для проверки настроек команд !mode, !filter, !show, !stats
- unregister -- удалить себя из базы и больше ничего не получать
FtpSpider и FtpInfo
Бот по сути является "серверной" реализацией известной программы FtpInfo, точнее не её полностью, а той части, которая показывает изменения на FTP. Принцип работы тот же самый, но данная серверная реализация имеет следующие плюсы и минусы по сравнению с клиентской:
Плюсы:
- Не надо ждать пока дерево просканируется. Вообще не надо об этом заботится: как только данные появятся, вам придет письмо.
- Меньше нагрузки на сервер (один сканер, а не много).
Минусы:
- Меньше контроля и опций.
- Нельзя запустить сканирование вручную когда хочется.
Кроме того, я не учитываю, что у программы FtpInfo есть другие возможности, которых пока нет у бота: поиск в просканиированных файлах и т.п.