magnetto.ext.ApiDispatcher

class magnetto.ApiDispatcher(grab=<Mock name='mock()' id='140522330033960'>, objs=[], log_dir=None, coockie_dir=None)[исходный код]
Базовые классы: object

Диспетчер, абстрагирующий от работы с множественными апи трекера. Умеет выполнять инициализацию переданных Api, в том числе проставляет соответствующие настройки grab.Grab объекту (пример: coockie файл, log файл). Делегирует вызовы одноименным вызовам апи.

Examples

Пример инициализации с одним объектом

>>> api = RutrackerApi("Roland", "1234")
... dispatcher = ApiDispatcher([api, ])
... print(dispatcher.search("Начало"))
__init__(grab=<Mock name='mock()' id='140522330033960'>, objs=[], log_dir=None, coockie_dir=None)[исходный код]
Параметры:
  • objs (List[BaseApi]) – Массив Api объектов
  • grab (grab.Grab, optional) – Экземпляр Grab объекта. Используется для указания своих типов настроек (пример: настройки прокси).
  • log_dir (str, optional) – В данную директорию помещается результат выполнения запроса
  • coockie_dir (str, optional) – Директория, для сохранения coockie файлов
add_obj(obj)[исходный код]

Добавляет api объект

Параметры:obj (BaseApi) – Api объект
Результат:True - объект добавлен False - такой объект уже существует
authorization(cls, login, password, captcha=None)[исходный код]

Выполняет процедуру авторизации для укзанного Api класса и сохраняет объект методом add_obj. Проставляет в grab объекте параметры log_file и cookiefile

Параметры:
  • cls (BaseApi) – Инициализирует переданный cls и выполняет BaseApi.authorization()
  • login (str) – Логин для входа
  • password (str) – Пароль для входа
  • captcha (str) – Введенная капча (нужна только при ошибке предыдущей авторизации)
Результат:

успешная авторизация

Тип результата:

True

Raises:
  • MagnettoIncorrectСredentials – введены неверные данные для входа
  • MagnettoCaptchaError – на странице обнаружена капча
del_cls(cls)[исходный код]

Удаляет объект данного типа из обработки (нужен например при изменении формы входа и невозможности повторной авторизации)

Параметры:cls (BaseApi) – Api класс
del_obj(obj)[исходный код]

Удаляет переданный объект из обработки

Параметры:obj (BaseApi) – Api объект
get_obj(cls)[исходный код]

Возвращает соответствующий экземпляр Api объекта

Параметры:cls (BaseApi) – Api класс
Результат:BaseApi Соответствущий классу объект None Соответствущего объекта не найдено
search(value, categories=[], page=0, limit=0, order_by=<OrderBy.DOWNLOADS: 3>, order=<Order.DESC: 1>)[исходный код]

План

  • фильтры