Results 1 to 15 of 3396

Thread: Еще раз про rTorrent и web-морду к нему.

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1

    d.set_custom1=

    Скажите, а есть возможность (или может ее можно добавить в следующих релизах?) устанавливать при добавлении торрента через веб-морду переменную "d.set_custom1="?
    Значение для нее хотелось бы получать из пути к данным торрента относительно "Default directory for downloads".
    Это позволило бы настроить перемещение файлов данных по завершении закачки.

    Заранее, спасибо

  2. #2
    Quote Originally Posted by dmrom View Post
    Скажите, а есть возможность
    1) Нет такой возможности. В custom1 хранится метка.
    2) Не очень понятно, зачем это Вам. "пути к данным торрента" Вы в любой момент можете получить из d.get_base_path или f.multicall по файлам торрента - в зависимости от способа добавления, состава закачки и того, что именно Вам нужно.
    Last edited by Novik; 20-06-2009 at 09:07.

  3. #3
    Quote Originally Posted by Novik View Post
    1) Нет такой возможности. В custom1 хранится метка.
    2) Не очень понятно, зачем это Вам. "пути к данным торрента" Вы в любой момент можете получить из d.get_base_path или f.multicall по файлам торрента - в зависимости от способа добавления, состава закачки и того, что именно Вам нужно.
    Отлично , я как раз хотел Вам предложить:
    1. Автоматическое формирование метки на основе выбранного относительного пути, куда сохраняются скачиваемые файлы.
    Поясню:
    - Есть базовый каталог для скачивания (то что в морде называется "Default directory for downloads").
    - Относительно него обычно организовывают подкаталоги, типа "Video", "Music", "Soft" и т.д.
    - Предлагаю добавить опцию в настройки, по которой в качестве метки использовался бы этот самый относительный путь.
    2. Относительный путь, в принципе, можно хранить и независимо, например в custom2.

    Для чего это нужно:
    1. Ну тут все понятно - чтобы два раза не вводить метку, если метка используется для разделения закачек по категориям содержимого.
    Например,
    "Default directory for downloads" установлена в "/p2p/downloads/"
    путь для сохранения /p2p/downloads/Video/DVD даст метку "Video/DVD"

    2. А относительный путь нужен вот для чего:
    on_finished = move_complete,"d.set_directory=/p2p/_ready/$d.get_custom2= ;execute=mv,-n,$d.get_base_path=,/p2p/_ready/$d.get_custom2="
    То есть в каталоге "/p2p/_ready/" (место для размещения полностью скачанных торрентов) будет организована такая же структура каталогов, что и при добавлении закачек.

    (при этом в качестве /p2p/_ready/ можно будет примонтировать внешний ресурс, доступный для общего доступа)

  4. #4
    Quote Originally Posted by dmrom View Post
    Автоматическое формирование метки на основе выбранного
    Проблема в том, что это не всем (мне, например) удобно. Собственно, для себя Вы сами можете организовать подобное в виде плагина - даже интерфейсных правок никаких не надо, можно обойтись только оформлением файла init.php, т.к. заведение меток уже есть. Пример обработки событий можно посмотреть в плагине erasedata (on_erase) или retrackers (on_insert). Только следует помнить, что метки храняться в кодированном (rawurlencode) виде. Впрочем, для меток латиницей это не существенно.

  5. #5
    1) а скажите.. как правильнее всего установить 2 rtorrent'a (точнее как с разными конфигами запустить понятно) чтобы веб-морды от них были в разных папках (интересна сама свзяь каждой морды со своим rtorrent) ?
    если я правильно понимаю, то в конфигах задать 5000 и 5001 (к примеру) а lighttpd просто указать оба порта в опции fastcgi ?
    2) и еще.. как во 2й (относительно первого вопроса) морде сломать изменение скорости из веб-морды (т.е. чтобы какая в конфиге задана - изменить было нельзя) ?

  6. #6
    Quote Originally Posted by Novik View Post
    В custom1 хранится метка
    Собственно, для себя Вы сами можете организовать подобное в виде плагина - даже интерфейсных правок никаких не надо, можно обойтись только оформлением файла init.php, т.к. заведение меток уже есть.
    Пока пробовал сделать так (в init.php):

    Code:
    if($theSettings->iVersion<0x804)
            $s = 'on_insert</methodName><params>';
    else
            $s = 'system.method.set_key</methodName><params><param><value><string>event.download.inserted_new</string></value></param>';
    
    send2RPC('<?xml version="1.0" encoding="UTF-8"?>'.
            '<methodCall><methodName>'.$s.
            '<param><value><string>auto_label</string></value></param>'.
            '<param><value><string>branch=d.get_custom1=,"d.set_custom1=123"</string></value></param>'.
            '</params>'.
            '</methodCall>');
    При добавлении торрента лэйбл 123 не присваивается
    Поизучал примеры, погуглил... вроде же должно работать?

  7. #7
    Quote Originally Posted by dmrom View Post
    Поизучал примеры, погуглил... вроде же должно работать?
    Это зависит от того, что Вы имеете ввиду под словом "работать". Ваш код означает следующее - если у добавляемой закачки уже есть метка, то заменить ее на 123. Если метки нет, то ничего не делать. Что, судя по всему, у Вас и происходит.

  8. #8
    Quote Originally Posted by Novik View Post
    Собственно, для себя Вы сами можете организовать подобное в виде плагина
    Продолжаю разбираться

    1. Попутно нашел небольшой баг:
    Не присваивается лэйбл из диалога добавления торрентов, потому что в index.html поле ввода лэйбла: id="tadd_label" name="tadd_label",
    а в addtorrent.php проверяется isset($_REQUEST['label']).
    Соответственно, исправил в addtorrent.php:
    Code:
    if(isset($_REQUEST['tadd_label']))
      $label = trim($_REQUEST['tadd_label']);
    2. Осознал, что из init.php плагина я не смогу получить, что хочется. Мне же нужно для каждого торрента d.set_custom1= вызывать. Можно либо добавить checkbox на диалог добавления файлов и поправить addtorrent.php, чтобы автоматически custom1 формировать по относительному пути, либо расширить плагин, добавить пункт в контекстное меню типа "Auto label" и т.п.

    3. Придумал, как можно реализовать перемещение полностью закачанных торрентов без использования custom (и, как я понял всего 5 и они уже все заняты). Нужно добавить поле ввода "Directory for Ready" с кнопкой, по аналогии с полем "Directory". Если это новое поле не пустое, то по нему устанавливать евент on_finish для добавляемого торрента (к значению нового поля будет добавляться путь для сохранения относительно "Default directory for downloads").
    Прблема в том, что не представляю, как такое в плагине реализовать, а постоянно править текст после обновления версии морды - не хорошо.
    Last edited by dmrom; 22-06-2009 at 20:14.

Similar Threads

  1. [How to] rtorrent & ntorrent
    By mancub in forum WL-500gP Tutorials
    Replies: 101
    Last Post: 18-12-2008, 07:21
  2. older rtorrent version
    By FastJack in forum WL-500gP Q&A
    Replies: 1
    Last Post: 23-10-2007, 09:40

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •