Difference between revisions of "FtpSpider"

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search
m
(удалил ! в начале команд)
Line 18: Line 18:
 
== Команды ==
 
== Команды ==
 
=== Работа со списками ===
 
=== Работа со списками ===
* '''!list''' -- просмотреть списки. (Include -- то, что интересно. Exclude -- то что надо пропустить)
+
* '''list''' -- просмотреть списки. (Include -- то, что интересно. Exclude -- то что надо пропустить)
* '''!add''' -- добавить полный URL или его часть в список Include
+
* '''add''' -- добавить полный URL или его часть в список Include
* '''!exclude''' -- добавить полный URL или его часть в список Exclude
+
* '''exclude''' -- добавить полный URL или его часть в список Exclude
* '''!del''' -- удалить адрес. Можно указать сам URL или его номер из !list
+
* '''del''' -- удалить адрес. Можно указать сам URL или его номер из !list
* '''!clear (all, include, exclude)''' -- очистить все или какой-то из фильтров отдельно.
+
* '''clear (all, include, exclude)''' -- очистить все или какой-то из фильтров отдельно.
  
 
=== Личные предпочтения ===
 
=== Личные предпочтения ===
* '''!show''' -- в каком виде высылать url:
+
* '''show''' -- в каком виде высылать url:
 
** unquoted -- неэкранированный
 
** unquoted -- неэкранированный
 
** quoted -- экранированный (по-умолчанию)
 
** quoted -- экранированный (по-умолчанию)
 
** full -- полный (по-умолчанию)
 
** full -- полный (по-умолчанию)
 
** path -- только путь без сервера
 
** path -- только путь без сервера
* '''!mode''' -- в каком виде вы предпочитаете получать информацию:
+
* '''mode''' -- в каком виде вы предпочитаете получать информацию:
 
** message -- простое сообщение
 
** message -- простое сообщение
 
** chat -- в чате (по-умолчанию)
 
** chat -- в чате (по-умолчанию)
 
** headline -- как новость (должен поддерживать клиент)
 
** headline -- как новость (должен поддерживать клиент)
* '''!filter''' -- тип информации:  
+
* '''filter''' -- тип информации:  
 
** add -- то, что добавленно (по-умолчанию)
 
** add -- то, что добавленно (по-умолчанию)
 
** del -- то, что удалено
 
** del -- то, что удалено
Line 40: Line 40:
  
 
=== Работа со статистикой ===
 
=== Работа со статистикой ===
* '''!stats''' -- показать статистику, собранную во время последнего обхода, и режим вашей подписки на неё
+
* '''stats''' -- показать статистику, собранную во время последнего обхода, и режим вашей подписки на неё
* '''!stats <param>''' -- изменить режим подписки:
+
* '''stats <param>''' -- изменить режим подписки:
 
** full -- получать полную статистику, как её показывает !stats без параметров
 
** full -- получать полную статистику, как её показывает !stats без параметров
 
** brief -- получать сокращенный вариант
 
** brief -- получать сокращенный вариант
Line 47: Line 47:
  
 
=== Помощь ===
 
=== Помощь ===
* '''!commands''' -- список команд
+
* '''commands''' -- список команд
* '''!help''' -- справка с примерами
+
* '''help''' -- справка с примерами
  
 
=== Остальное ===
 
=== Остальное ===
* '''!quote''' -- экранировать переданный адрес (один!)
+
* '''quote''' -- экранировать переданный адрес (один!)
* '''!unquote''' -- разэкранировать переданные адреса (сколько угодно)
+
* '''unquote''' -- разэкранировать переданные адреса (сколько угодно)
* '''!test''' -- выслать пример сообщения и статистики для проверки настроек команд !mode, !filter, !show, !stats
+
* '''test''' -- выслать пример сообщения и статистики для проверки настроек команд !mode, !filter, !show, !stats
* '''!unregister''' -- удалить себя из базы и больше ничего не получать
+
* '''unregister''' -- удалить себя из базы и больше ничего не получать
  
 
== FtpSpider и FtpInfo ==
 
== FtpSpider и FtpInfo ==

Revision as of 18:37, 13 May 2007

FtpSpider
Информация
Сайт: запись в блоге
Язык: Python
Библиотека: xmpppy
Лицензия: GPL
Характеристики
Мультиязычность: да
Расширяемость: да
Discovery: нет
Ad-hoc команды: нет

Бот является ответвлением (форком) Нейтрона. Основное предназначение — следить за изменениями файлов на определенном FTP-сервере и сообщать пользователями то, что их интересует. Исходный код скоро будет доступен.

ToDo: Опубликовать исходные коды

Работает по следующему алгоритму: периодически производится сканирование FTP-дерева и определяется разницу по сравнению с предыдущим результатом опроса. Потом для каждого пользователя из разницы выбираются интересующие файлы в соотвествии с введенными пользователем фильтрами и результат отправляется на его JID.

Команды

Работа со списками

  • 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 есть другие возможности, которых пока нет у бота: поиск в просканиированных файлах и т.п.

Смотри также