Есть торрент допустим с 33000 файлами.
Файлы структурированы в таком формате:
A001...A999
B001...B999
и так далее.
Мне нужно скачать из этого торрента несколько файлов.
Например - A(057-083), D(031-076), S(012-257)
Т.е. по маске.
Вопрос: какой клиент так умеет?
Желательно CLI.
В Питон не особо умею, но пугает endswitch("*.txt").
Мне нужен regexp типа A[0-99]
Что там на конце файла неважно.
Что-то типа:
priority_high=[f.id for f in t.get_files() if f.name.regexp("A[000-099], D[021-788]]
Т.е. несколько диапазонов без привязки к расширению файлов (условно, все они *.txt)
Евгений,
в пайтоне регекспы и имена файлов обработать отдельно,
т. е. получить список файлов с их id
обработать регекспами => то есть получить нужные id
потом по id установить запускать\не запускать
Несколько сложно конечно.
Евгений,
Ну это пример у них
endswith(".txt") - файлы с расширением txt
Получить id всех файлов с расширением txt :
[f.id for f in t.get_files() if f.name.endswith(".txt")]
import re
from transmission_rpc import Client
client = Client(host="localhost", port=9091, username="transmission", password="1111")
torrent = client.get_torrent(1)
files = torrent.get_files()
# print(files)
wanted = [] # список id файлов которые будем отмечать
# регулярка
your_regx = r'A\d*|B\d*' # здесь у вас что-то вроде A\d*|B\d*
for file in files:
# print(file.id, file.name)
if bool(re.findall(your_regx, file.name)):
# print(file.id, file.name)
wanted.append(file.id) # добавляем id
print('wanted\n', wanted)
# отмечаем
client.change_torrent(torrent.hashString, files_wanted=wanted)
Без питона transmission-cli
С питоном можно на фринлансе заказать
рублей за 500
Спасибо за каркас кода.
Хорошо читается.
Но хотелось бы Торрент-клиента который понимает командную строку с регэкспами.
Фриланс не нужен.
А то тут как то делал UI для ikev2.
Не хочу.