Trying to deduct if the server don't have a version value.
server_version = ( version_major, version_minor, version_changeset ) def rpc_version ( self ) -> int : """ Get the Transmission RPC version. group ( 2 )) version_changeset = int ( match. group ( 1 )) version_minor = int ( match. version ) if match : version_major = int ( match. session, "version" ): match = version_parser. server_version is None : version_major = 1 version_minor = 30 version_changeset = 0 version_parser = re. session = Session ( self, data ) def _update_server_version ( self ) -> None : """Decode the Transmission version string, if available.""" if self.
_update_session ( data ) elif method in ( "port-test", "blocklist-update", "free-space", "torrent-rename-path", ): results = data else : return data return results def _update_session ( self, data : Dict ) -> None : """ Update session data. _update_session ( data ) elif method = "session-stats" : # older versions of T has the return data in "session-stats" if "session-stats" in data : self. protocol_version = 1 elif method = "torrent-add" : item = None if "torrent-added" in data : item = data elif "torrent-duplicate" in data : item = data if item : results ] = Torrent ( self, item ) else : raise TransmissionError ( "Invalid torrent-add response." ) elif method = "session-get" : self. protocol_version = 2 and "peers" not in item : self. absolute ()) return str ( s ) def _parse_torrent_id ( raw_torrent_id : Union ) -> Union : if isinstance ( raw_torrent_id, int ): if raw_torrent_id >= 0 : return raw_torrent_id elif isinstance ( raw_torrent_id, str ): if len ( raw_torrent_id ) != 40 or ( set ( raw_torrent_id ) - set ( valid_hash_char )): raise ValueError ( f "torrent ids if method = "torrent-get" : for item in data : results ] = Torrent ( self, item ) if self. ascii_letters _TorrentID = Union _TorrentIDs = Union, None ] def ensure_location_str ( s : Union ) -> str : if isinstance ( s, pathlib. import os import re import json import time import types import base64 import string import logging import pathlib import operator from typing import Any, Dict, List, Type, Tuple, Union, BinaryIO, Optional, Sequence from urllib.parse import urljoin, urlparse import yarl import requests import th from typing_extensions import Literal from transmission_rpc.error import TransmissionError from transmission_rpc.utils import ( LOGGER, rpc_bool, get_arguments, make_rpc_name, argument_value_convert, ) from transmission_rpc.session import Session from transmission_rpc.torrent import Torrent from transmission_rpc.constants import DEFAULT_TIMEOUT from transmission_rpc.lib_types import File, Field, _Timeout valid_hash_char = string.
# Copyright (c) 2020 littleya # Copyright (c) 2018-2020 Trim21 # Copyright (c) 2008-2014 Erik Svensson # Licensed under the MIT license.