Skip to main content

async_pushover_client

Проект представляет собой набор синхронных и асинхронных методов для работы с API PushOver

Установка

pip install async_pushover_client

Использование

Создайте .env файл, и поместите туда переменные

PUSHOVER_DEVICE_ID=ВАШ ИД устройства, если его нет зарегистрируется автоматически
PUSHOVER_EMAIL_USERNAME=email аккаунта
PUSHOVER_PASSWORD=пароль аккаунта

Или создайте файл auth_data.json и положите его в корень проекта.

{"email": "example@example.com", 
  "password": "password", 
  "secret": "secret", "device_id": "device_id"}

После первого успешного запуска worker файл создастся автоматически, вы так же можете вызвать метод

from async_pushover_client.main import OpenAPI
from async_pushover_client.settings import DEVICE_ID, PASSWORD, EMAIL_USERNAME

api = OpenAPI(email=EMAIL_USERNAME,
              password=PASSWORD,
              device_id=DEVICE_ID)
api.launch_preparation() 
# ИЛИ его асинхронное представление a_launch_preparation()

Для того, что бы запустить асинхронный worker достаточно переопределить метод receiver_messages, или метод on_message, если вы хотите работать с сырыми данными.

from async_pushover_client.worker import WSClientPushOver
from async_websocket_client.apps import AsyncWebSocketApp


class MyTestCase(WSClientPushOver):
    async def receiver_messages(self, message: dict):
        print(self.messages)
        print(message)


client = AsyncWebSocketApp('wss://client.pushover.net/push', MyTestCase())
client.asyncio_run()

Метод получает message, у которого есть все данные представляемые API PushOver. Далее примените фантазию, и решите что вы сделаете c message, который будет хранить в себе одно сообщение, или self.messages, хранящий в себе не полученные сообщения на момент, пока worker не работал.

Вы так же можете поработать с методами получения и удаления сообщений, без использования WebSocket. Для этого достаточно импортировать класс OpenAPI

from async_pushover_client.main import OpenAPI
from async_pushover_client.settings import DEVICE_ID, PASSWORD, EMAIL_USERNAME

api = OpenAPI(email=EMAIL_USERNAME,
              password=PASSWORD,
              device_id=DEVICE_ID)
messages = api.receiving_notifications()
print(messages)

Metadata

Release files for async-pushover-client 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for async-pushover-client 0.1.0
File Size Uploaded
async_pushover_client-0.1.0.tar.gz 17.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for async-pushover-client 0.1.0
File Interpreter ABI Platform
async_pushover_client-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 35.2 kB

Release files / async_pushover_client-0.1.0.tar.gz

Download URL async_pushover_client-0.1.0.tar.gz
Size 17.0 kB
Tags Source
SHA-256 checksum
How to use checksums
222651c9c20768b4b3152c975419678219165ef7b6a977995e25639d929d2d8b
BLAKE2b-256 checksum
How to use checksums
4f87b0c315b8728c1bb61f34119d592367930f6eb4ffb9902e134d5232cd543b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release files / async_pushover_client-0.1.0-py3-none-any.whl

Download URL async_pushover_client-0.1.0-py3-none-any.whl
Size 18.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
be4188573cb11809afeaaa203a87f13c89f8658c2938be8cee08471b1ff3ccc1
BLAKE2b-256 checksum
How to use checksums
0eaa008aaec3c62f9241c9209f473d1be1908f39eaa4d67d34fd9f768de74ac1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page