core/homeassistant/components/deluge/const.py

46 lines
1.7 KiB
Python

"""Constants for the Deluge integration."""
import enum
import logging
from typing import Final
CONF_WEB_PORT = "web_port"
DEFAULT_NAME = "Deluge"
DEFAULT_RPC_PORT = 58846
DEFAULT_WEB_PORT = 8112
DOMAIN: Final = "deluge"
LOGGER = logging.getLogger(__package__)
class DelugeGetSessionStatusKeys(enum.Enum):
"""Enum representing the keys that get passed into the Deluge RPC `core.get_session_status` xml rpc method.
You can call `core.get_session_status` with no keys (so an empty list in deluge-client.DelugeRPCClient.call)
to get the full list of possible keys, but it seems to basically be a all of the session statistics
listed on this page: https://www.rasterbar.com/products/libtorrent/manual-ref.html#session-statistics
and a few others
there is also a list of deprecated keys that deluge will translate for you and issue a warning in the log:
https://github.com/deluge-torrent/deluge/blob/7f3f7f69ee78610e95bea07d99f699e9310c4e08/deluge/core/core.py#L58
"""
DHT_DOWNLOAD_RATE = "dht_download_rate"
DHT_UPLOAD_RATE = "dht_upload_rate"
DOWNLOAD_RATE = "download_rate"
UPLOAD_RATE = "upload_rate"
class DelugeSensorType(enum.StrEnum):
"""Enum that distinguishes the different sensor types that the Deluge integration has.
This is mainly used to avoid passing strings around and to distinguish between similarly
named strings in `DelugeGetSessionStatusKeys`.
"""
CURRENT_STATUS_SENSOR = "current_status"
DOWNLOAD_SPEED_SENSOR = "download_speed"
UPLOAD_SPEED_SENSOR = "upload_speed"
PROTOCOL_TRAFFIC_UPLOAD_SPEED_SENSOR = "protocol_traffic_upload_speed"
PROTOCOL_TRAFFIC_DOWNLOAD_SPEED_SENSOR = "protocol_traffic_download_speed"