ShotSaver¶
-
class
ShotSaver(shot_awaiting_time=5, tries_to_make_shot=2, pool_size=10)[исходный код]¶ Класс для сохранения скриншотов
Параметры: - shot_awaiting_time (
int, optional) – Время ожидания скриншота, с. По умолчанию5. - tries_to_make_shot (
int, optional) – Кол-во попыток сохранить скриншот. Если в течении времени shot_awaiting_time скриншот не был сохранен - производится следующая попытка сохранить скриншот. По умолчанию2 - pool_size (
int) – Размер пула. По умолчанию10
-
pool_size¶ Размер пула для метода
pool_shotУстанавливает размер пула (кол-во одновременно созданных задач сохранения скриншотов). По умолчанию
10.Предупреждение
Изменить данный параметр можно только до первого вызова метода
pool_shot. После вызоветRuntimeErrorRaises: RuntimeError– Если пул уже создан.Type: int
-
pool_queue_size¶ Размер текущей очереди в пуле
Возвращает текущий размер очереди в пуле.
Примечание
Если пул еще не был созда (метод
pool_shotне вызывался) данный метод вернет-1Type: int
-
screenshots_folder¶ Папка для сохранения скриншотов по умолчанию
Устанавливает новый путь по умолчанию для сохранения скриншотов, если папка не существует - создает папку. Или возвращает текущий путь для сохранения скриншотов.
Примечание
По молчанию
screenshots_folder=BaseUtils.get_screenshot_folder()Raises: OSError– Если возникает ошибка при создании папкиType: str
-
shot(channel_full_guid, dt=None, file_name=None, file_path=None)[исходный код]¶ Делает скриншот с указанного канала
Примечание
По умолчанию:
dt=datetime.now()file_name="{name} (%Y.%m.%d %H-%M-%S).jpg", где{name}- имя канала
Параметры: - channel_full_guid (
str) – Полный guid анала. Например:"CFsuNBzt_pV4ggECb" - dt (
datetime.datetime, optional) –datetime.datetimeдля скриншота. По умолчаниюNone - file_name (
str, optional) – Имя файла с расширением. По умолчаниюNone - file_path (
str, optional) – Путь для сохранения скриншота. По умолчаниюNone
Результат: Полный путь до скриншота
Тип результата: Raises: ValueError– Если в guid канала отсутствует guid сервераTypeError– Еслиisinstance(dt, (datetime, date)) is False
Examples
>>> ss = ShotSaver() >>> ss.shot("e80kgBLh_pV4ggECb") '/home/trassir/shots/AC-D2141IR3 Склад (2019.04.03 15-58-26).jpg'
-
async_shot(channel_full_guid, dt=None, file_name=None, file_path=None, callback=None)[исходный код]¶ Вызывает
callbackпосле сохнанения скриншота- Метод работает в отдельном потоке
- Вызывает функцию
ShotSaver.shot() - Ждет выполнения функции
BaseUtils.check_file()tries=10 - Вызвает
callbackфункцию
Параметры: - channel_full_guid (
str) – Полный guid канала. Например:"CFsuNBzt_pV4ggECb" - dt (
datetime.datetime, optional) –datetime.datetimeдля скриншота. По умолчаниюNone - file_name (
str, optional) – Имя файла с расширением. По умолчаниюNone - file_path (
str, optional) – Путь для сохранения скриншота. По умолчаниюNone - callback (
function, optional) – Функциюя, которая вызывается после сохранения скриншота. В качестве аргументов должна принимать success, shot_path. По умолчаниюNone
Результат: Thread object
Тип результата: Examples
>>> # noinspection PyUnresolvedReferences >>> def callback(success, shot_path): ... # Пример callback функции ... # Args: ... # success (bool): True если скриншот успешно сохранен, иначе False ... # shot_path (str): Полный путь до скриншота ... if success: ... host_ip.message("Скриншот успешно сохранен<br>%s" % shot_path) ... else: ... host_ip.error("Ошибка сохранения скриншота <br>%s" % shot_path) >>> >>> ss = ShotSaver() >>> ss.async_shot("e80kgBLh_pV4ggECb", callback=callback)
-
pool_shot(channel_full_guid, dt=None, file_name=None, file_path=None, callback=None)[исходный код]¶ Сохраняет скриншоты в пуле.
Одновременно в работе не более
ShotSaver.pool_sizeзадач.Предупреждение
Данный метод создает
ShotSaver.pool_sizeдоп. потоков. Потоки удаляются при отключении скрипта.Параметры: - channel_full_guid (
str) – Полный guid канала. Например:"CFsuNBzt_pV4ggECb" - dt (
datetime.datetime, optional) –datetime.datetimeдля скриншота. По умолчаниюNone - file_name (
str, optional) – Имя файла с расширением. По умолчаниюNone - file_path (
str, optional) – Путь для сохранения скриншота. По умолчаниюNone - callback (
function, optional) – Функциюя, которая вызывается после сохранения скриншота. В качестве аргументов должна принимать success, shot_path. По умолчаниюNone
Examples
>>> ss = ShotSaver() >>> ss.pool_size = 2 >>> >>> ss.pool_shot("e80kgBLh_pV4ggECb") >>> ss.pool_shot("e80kgBLh_pV4ggECb") >>> ss.pool_shot("e80kgBLh_pV4ggECb") >>> ss.pool_shot("e80kgBLh_pV4ggECb") >>> >>> ss.pool_queue_size 4
- channel_full_guid (
- shot_awaiting_time (