Senders

PopupSender

class PopupSender(width=400)[исходный код]

Класс для показа всплывающих окон в правом нижнем углу экрана

Параметры:width (int, optional) – Ширина изображения, px. По умолчанию width=400

Examples

>>> sender = PopupSender(300)
>>> sender.text("Hello World!")
_images/popup_sender.text.png
>>> sender.image(r"manual/en/cloud-devices-16.png")
_images/popup_sender.image.png
text(text, popup_type='message', **kwargs)[исходный код]

Показывает текст во всплывающем окне

Вызывает один из методов Trassir host_ip.alert, host_ip.message или host_ip.error с текстом

Параметры:
  • text (str) – Текст сообщения
  • popup_type ("message" | "alert" | "error", optional) – Тип сообщения. По умолчанию "message"
image(image_path, text='', popup_type=None, **kwargs)[исходный код]

Показывает изображение во всплывающем окне

Параметры:
  • image_path (str | List[str]) – Полный путь до изображения или список путей.
  • text (str, optional) – Текст сообщения. По умолчанию ""
  • popup_type ("message" | "alert" | "error", optional) – Тип сообщения. По умолчанию "message"

PopupWithBtnSender

class PopupWithBtnSender(width=800)[исходный код]

Класс для показа всплывающих окон с кнопкой Оk

Примечание

Для закрытия окна необходимо нажать кнопку Ok в течении 60 сек.
После 60 сек окно закрывается автоматически.
Параметры:width (int, optional) – Ширина изображения, px. По умолчанию width=800

Examples

>>> sender = PopupWithBtnSender()
>>> sender.text("Hello World!")
_images/popup_with_btn_sender.text.png
>>> sender.image(r"manual/en/cloud-devices-16.png")
_images/popup_with_btn_sender.image.png
text(text, **kwargs)[исходный код]

Показывает текст во всплывающем окне

Вызывает метод Trassir host_ip.question с текстом

Параметры:text (str) – Текст сообщения
image(image_path, text='', **kwargs)[исходный код]

Показывает изображение во всплывающем окне

Параметры:
  • image_path (str | List[str]) – Полный путь до изображения или список путей.
  • text (str, optional) – Текст сообщения. По умолчанию ""

EmailSender

class EmailSender(account, mailing_list, subject=None, max_size=None)[исходный код]

Класс для отправки уведомлений, изображений и файлов на почту

Примечание

По умолчанию тема сообщений соответствует шаблону {server_name} -> {script_name}

Совет

При отправке изображения с текстом предпочтительней использовать метод EmailSender.image() с необязательным аргументом text чем EmailSender.text() с необазательным аргументом attachments

Параметры:
  • account (str) – E-Mail аккаунт trassir. Проверяется методом PokaYoke.check_email_account()
  • mailing_list (str) – Список email адресов для отправки писем разделенный запятыми. Проверяется и парсится в список методом PokaYoke.parse_emails()
  • subject (str, optional) – Общая тема для сообщений. По умолчанию None
  • max_size (int, optional) – Максимальный размер вложения, байт. По умолчанию 25 * 1024 * 1024

Examples

>>> sender = EmailSender("MyAccount", "my_mail@google.com")
>>> sender.text("Hello World!")
_images/email_sender.text.png
>>> sender.image(r"manual/en/cloud-devices-16.png")
_images/email_sender.image.png
>>> sender.files([r"manual/en/cloud.html", r"manual/en/cloud.png"])
_images/email_sender.files.png
text(text, subject=None, attachments=None, **kwargs)[исходный код]

Отправка текстового сообщения

Параметры:
  • text (str) – Текст сообщения
  • subject (str, optional) – Новая тема сообщения. По умолчанию None
  • attachments (list, optional) – Список вложений. По умолчанию None
image(image_path, text='', subject=None, **kwargs)[исходный код]

Отправка изображения

Параметры:
  • image_path (str | List[str]) – Полный путь до изображения или список путей.
  • text (str, optional) – Текст сообщения. По умолчанию ""
  • subject (str, optional) – Новая тема сообщения. По умолчанию None
files(file_paths, text='', subject=None, callback=None, **kwargs)[исходный код]

Отправка файлов

Примечание

Если отправляется несколько файлов они могут быть разделены на несколько сообщений, основываясь на максимальном размере вложений.

Параметры:
  • file_paths (str | list) – Путь до файла или список файлов для отправки
  • text (str, optional) – Текст сообщения. По умолчанию ""
  • subject (str, optional) – Новая тема сообщения. По умолчанию None
  • callback (function, optional) – Функция, которая вызывается после отправки частей

TelegramSender

class TelegramSender(telegram_ids=None)[исходный код]

Работа с телеграм ботом @trassirbot

Предупреждение

Cкрипт должен быть запущен на сервере Trassir.
На Клиенте скрипт вызовет ошибку ServerKeyError
Параметры:telegram_ids (str) – Id пользователей, через запятую.

Examples

>>> # Можно указать id для рассылки при инициализации
>>> # класса, для всех уведомлений
>>> sender = TelegramSender("123456789")
>>> sender.text("Hello World!")
_images/telegram_sender.text.png
>>> sender.image(r"manual/en/cloud-devices-16.png")
_images/telegram_sender.image.png
>>> sender.files([r"manual/en/cloud.html", r"manual/en/cloud.png"])
_images/telegram_sender.files.png
>>> # Или можно опередовать telegram id при вызове методов
>>> sender = TelegramSender()
>>> sender.text("Hello World!", tg_users=[123456789])
_images/telegram_sender.text.png
>>> sender.image(r"manual/en/cloud-devices-16.png", tg_users=[123456789])
_images/telegram_sender.image.png
>>> sender.files([r"manual/en/cloud.html", r"manual/en/cloud.png"], tg_users=[123456789])
_images/telegram_sender.files.png
text(text, tg_users=None, **kwargs)[исходный код]

Отправка текстового сообщения

Параметры:
  • text (str) – Текст сообщения.
  • tg_users (List[int], optional) – Список id пользователей telegram для отправки отдельных сообщений. По умолчанию None
image(image_path, text='', tg_users=None, remove=False, **kwargs)[исходный код]

Отправка изображения

Параметры:
  • image_path (str | List[str]) – Полный путь до изображения или список путей
  • text (str, optional) – Текст сообщения. По умолчанию ""
  • tg_users (List[int], optional) – Список id пользователей telegram для отправки отдельных сообщений. По умолчанию None
  • remove (bool, optional) – Удалить файл после отправки или нет. По умолчанию False
files(file_paths, text='', tg_users=None, remove=False, **kwargs)[исходный код]

Отправка файлов

Параметры:
  • file_paths (str | list) – Путь до файла или список файлов для отправки
  • text (str, optional) – Текст сообщения. По умолчанию ""
  • tg_users (List[int], optional) – Список id пользователей telegram для отправки отдельных сообщений. По умолчанию None
  • remove (bool, optional) – Удалить файл после отправки или нет. По умолчанию False

SMSCSender

class SMSCSender(login, password, phones, translit=True)[исходный код]

Класс для отправки сообщений с помощью сервиса smsc.ru

См.также

https://smsc.ru/api/http/

Примечание

Номера проверяются методом PokaYoke.check_phones()
Также при первом запуске скрипт проверяет данные авторизации

Предупреждение

По умолчанию сервис smsc.ru отправляет сообщения от своего имени SMSC.RU. При этом отправка на номера Мегафон/Йота недоступна т.к. имя SMSC.RU заблокировано оператором.

Мы настоятельно НЕ рекомендуем использовать стандартное имя SMSC.RU.

Для отправки смс от вашего буквенного имени необходимо его создать в разделе - https://smsc.ru/senders/ и зарегистрировать для операторов в колонке Действия по кнопке Изменить (после заключения договора согласно инструкции - https://smsc.ru/contract/info/ ) а также приложить гарантийное письмо на МТС в личный кабинет http://smsc.ru/documents/ и отправить на почту inna@smsc.ru
Параметры:
  • login (str) – SMSC Логин
  • password (str) – SMSC Пароль
  • phones (str) – Список номеров для отправки смс резделенный запятыми или точкой с запятой
  • translit (bool, optional) – Переводить сообщение в транслит. По умолчанию True
Raises:

SMSCSenderError – При любых ошибках с отправкой сообщения

Examples

>>> sender = SMSCSender("login", "password", "79999999999")
>>> sender.text("Hello World!")
_images/smsc_sender.text.png
text(text, **kwargs)[исходный код]

Отправка текстового сообщения

Параметры:text (str) – Текст сообщения.

FTPSender

class FTPSender(host_ip, port=21, user='anonymous', passwd='', work_dir=None, callback=None, queue_maxlen=1000)[исходный код]

Класс для отправки файлов на ftp сервер

При инициализации проверят подключение к ftp серверу. Файлы отправляет по очереди. Максимальный размер очереди можно изменить. Во время выполнения передает текущий прогресс отправки файла в callback функцию.

Примечание

Помимо прогресса в функцию callback может вернуться код ошибки.
  • -1 Файл не существует.
  • -2 Ошибка отправки на ftp, файл будет повторно отправлен.
  • -3 Неизвестная ошибка.
Параметры:
  • host_ip (str) – Адрес ftp сервера.
  • port (int, optional) – Порт ftp сервера. По умолчанию port=21
  • user (str, optional) – Имя пользователя. По умолчанию "anonymous"
  • passwd (str, optional) – Пароль пользователя. По умолчанию passwd=""
  • work_dir (str, optional) – Директория на сервре для сохранения файлов. По умолчанию None
  • callback (function, optional) – Callable function. По умолчанию None
  • queue_maxlen (int, optional) – Максимальная длина очереди на отправку. По умолчанию queue_maxlen=1000

Examples

>>> # noinspection PyUnresolvedReferences
>>> def callback(file_path, progress, error):
...     # Пример callback функции, которая отображает
...     # текущий прогресс в счетчике запуска скрипта
...     # Args:
...     #   file_path (str): Путь до файла
...     #   progress (int): Текущий прогресс передачи файла, %
...     #   error (str | Exception): Ошибка при отправке файла, если есть
...     host.stats()["run_count"] = progress
...     if error:
...         host.error(error)
...
...     if progress == 100:
...         host.timeout(3000, lambda: os.remove(BaseUtils.win_encode_path(file_path)))
>>>
>>> sender = FTPSender("172.20.0.10", 21, "trassir", "12345", work_dir="/test_dir/", callback=callback)
>>> sender.files(r"D:/Shots/export_video.avi")
files(file_paths, *args, **kwargs)[исходный код]

Отправка файлов

Примечание

Можно указать отдельный путь на ftp сервере для каждого файла. Для этого список файлов на отправку должен быть приведен к виду [(shot_path, ftp_path), ...] При этом так же будет учитываться глобальная папка work_dir заданная при инициализации класса.

Параметры:file_paths (str | list) – Путь до файла или список файлов для отправки

SoundPlayer

class SoundPlayer(sound_file)[исходный код]

Класс для проигрывания выбранной мелодии.

Можно указать один из стандартных зуков или указать полный путь до своего файла.

Примечание

Список стандартных файлов

"SNES-startup.wav"
"alarm.wav"
"bell.wav"
"boxing-bell-1.wav"
"boxing-bell-3.wav"
"cardlock-open.wav"
"chime.wav"
"chip001.wav"
"chip019.wav"
"chip069.wav"
"cordless-phone-ring.wav"
"countdown.wav"
"dialtone.wav"
"ding.wav"
"horn-beep.wav"
"phone-beep.wav"
"police2.wav"
"ship-on-fog.wav"
"ships-bell.wav"
"spin-up.wav"
"tada1.wav"
"tape-slow9.wav"
Параметры:sound_file (str) – Имя файла с расширением
play()[исходный код]

Проигрывает выбранный файл

Examples

>>> player = SoundPlayer("alarm.wav")
>>> player.play()