Skip to main content

Документация модуля skydns_url2cat

Модуль skydns_url2cat на языке программирования Python

Модуль skydns_url2cat предоставляет функционал для доступа к базе данных с внутренней каноникализацией запросов.

Для работы с модулем его необходимо установить на каждую целевую систему. Установка производится с помощью pip. После установки будут доступны несколько команд:

  • skydns-url2cat - для разовой проверки урла по заданной базе
  • skydns-url2cat-update - для обновления базы через сервера ООО «СкайДНС»

Программный интерфейс

Пример использования модуля:

>>> import skydns_url2cat

>>> skydns_url2cat.init(path_to_skydns_db)
True
>>> skydns_url2cat.lookup('google.com')
('google.com/', (48,))

База sqlite работает нестабильно на сетевых файловых системах.

Даже для чтения базы требуются права на запись, это особенность используемого режима работы базы.

Перечитывание базы

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

Автоматическое перечитывание

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

>>> import skydns_url2cat

>>> skydns_url2cat.init(path_to_skydns_db)
True
>>> skydns_url2cat.auto_refresh()
>>> skydns_url2cat.lookup('google.com')
('google.com/', (48,))

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

Обновление

Обновление происходит с помощью запуска команды

$ skydns-url2cat-update <path_to_db> <username> <password>

При этом произойдет проверка доступности обновлений, скачивание и применение обновления к указанной базе.

Настроить периодический запуск скрипта можно при помощи cron.

Модуль skydns_url2cat

exceptionskydns_url2cat.reader.DatabaseError

classskydns_url2cat.reader.Reader

Класс для чтения содержимого базы

configure(path username=None, password=None)

Настраивает объект, задает путь до базы данных и авторизационные данные

lookup(url)

Функция для получения категории урла

Возвращает кортеж из 2 элементов:

  1. Урл который найден в базе
  2. Список id категорий

Если урл не найден или невозможно разобрать, то первый элемент будет None.

Exception: UrlParseError
Параметры: url – str
Результат: tuple

lookup_with_names(url)

Функция для получения категории урла. В отличие от метода lookup возвращает список имен категорий.

category(i)

Возвращает имя категории

categories()

Возвращает доступные категории

languages()

Возвращает доступные локализации

category_for_lang(lang, i)

Возвращает имя категории в заданной локализации

categories_for_lang(lang)

Возвращает категории в заданной локализации

rollback()

Инициализировать автоматические перечитывание