# Copyright (c) 2018-2022 Trim21 # Copyright (c) 2008-2014 Erik Svensson # Licensed under the MIT license. import enum import logging from typing import Dict, Optional, NamedTuple LOGGER = logging.getLogger("transmission-rpc") LOGGER.setLevel(logging.ERROR) DEFAULT_TIMEOUT = 30.0 class Priority(enum.IntEnum): Low = -1 Normal = 0 High = 1 class RatioLimitMode(enum.IntEnum): """torrent radio limit mode""" #: follow the global settings Global = 0 #: override the global settings, seeding until a certain ratio Single = 1 #: override the global settings, seeding regardless of ratio Unlimited = 2 class IdleMode(enum.IntEnum): """torrent idle mode""" #: follow the global settings Global = 0 #: override the global settings, seeding until a certain idle time Single = 1 #: override the global settings, seeding regardless of activity Unlimited = 2 class Args(NamedTuple): type: str added_version: int removed_version: Optional[int] = None previous_argument_name: Optional[str] = None next_argument_name: Optional[str] = None description: str = "" def __repr__(self) -> str: return ( f"Args({self.type!r}," f" {self.added_version!r}," f" {self.removed_version!r}," f" {self.previous_argument_name!r}," f" {self.next_argument_name!r}," f" {self.description!r})" ) def __str__(self) -> str: return f"Args