LINUX.ORG.RU

Помогите разобраться в transmission rpc

 , ,


0

0

Не могу разобраться в некоторых методах. На борту python 3.7, transmission 2.94, transmissionrpc (https://pythonhosted.org/transmissionrpc/) или transmission_rpc (https://transmission-rpc.readthedocs.io/en/latest/index.html).

Мне нужно переименовать корневой объект (файл) торрента после или в момент добавления. Как я вижу, для этого есть только rename_torrent_path(torrent_id, location, name, timeout=None) для уже существующего торрента. torrent_id - число, взять легко. location и name это путь и имя соответственно. Имя должно быть без пути, иначе

dirname = os.path.dirname(name)
    if len(dirname) > 0:
        raise ValueError("Target name cannot contain a path delimiter").
А вот путь как только я не указывал, и с именем файла и без, а вываливается ошибка, в т.ч. для логичного варианта типа rename_torrent_path(torrent_id, '/mnt/testlocation/testname.mkv', 'testname.mkv'):
transmission_rpc.error.TransmissionError: Query failed with result "Invalid argument".
К ней ведет вызов
args = {'path': location, 'name': name}
result = self._request(
    'torrent-rename-path', args, torrent_id, True, timeout=timeout)

...

if 'result' in data:
    if data['result'] != 'success':
        raise TransmissionError(
            'Query failed with result \"%s\".' % (data['result'])
        )
То есть аргументы не являются корректными, а более детально выяснить что и почему нельзя.

Сама функция переименования работает в программах, использующих transmission rpc, но раскопки их исходников пока не внесли ясности что именно я делаю не так. Если кто-то знает, просьба сообщить.

★★★★★

Ну вот, 15 минут прошло (ЛОР, ты утёнок!), а оказалось, что location это старое имя, а name - новое имя.

Lordwind ★★★★★
() автор топика
Последнее исправление: Lordwind (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.