Comments and changes to this ticket
-
vovasty March 26th, 2010 @ 06:30 PM
(from [d6d011a9e2ff]) initial groups [#10] http://bitbucket.org/vovasty/nativa/changeset/d6d011a9e2ff/
-
vovasty March 26th, 2010 @ 06:30 PM
(from [ff9aea02009b]) groups settings, groups context menu [#10] http://bitbucket.org/vovasty/nativa/changeset/ff9aea02009b/
-
dkobzev March 26th, 2010 @ 07:24 PM
Хорошо вышло, без подсветки значка цветом метки, даже как то лучше выглядит чем в трансмишине. Может и не стоит делать или сделать как нибудь информативно, но посимпатичнее чем в трансмишен?
Еще стоит учесть еще вот это http://libtorrent.rakshasa.no/ticket/1543. Это сделано для случаев к примеру, если запущу нативу с другой машины все мои группы останутся на той где настраивал.
Надо на сервер их дублировать, причем при каждом запуске, они сбрасываются при рестарте на настройки из rtorrent.rc.
Так же там есть то чего нет в трасмишен, это настройки групп. :) -
vovasty March 26th, 2010 @ 07:35 PM
Группы хранятся в поле custom1 (это можно будет настраивать), а не в группах.
-
dkobzev March 26th, 2010 @ 08:18 PM
В принципе да, но например это:
schedule = watch_directory_one_5,5,5,"load_start=/home/one/ratio_5/*.torrent,d.set_directory=/home/one/downloads, view.set_visible=ratio_5"Закачка ставится в директорию /home/one/downloads и ей ставится группа ратио ratio_5.
В трансмишен Группа = Директория закачки. Следовательно группы ратио можно по логике будет ставить и на группы, тоже касается и throttle, такого функционала в трансмишин нет :) Там только по закачкам индивидуально.А если взять в примеру добавление по маске. Ну кинет трансмишен закачку в нужную папку, ну присвоит группу. Но ограничение и ратио руками выставлять прийдется. А если сразу штук 20 закачек добавить и все они по разным группам разлетятся (все сразу выделить и поставить не прокатит…)? Вот отсюда и напрашиваются свойства групп =)
-
vovasty March 26th, 2010 @ 08:23 PM
Вот только одна проблема - как узнать, в какой группе находится торрент? Считывать все группы? Я не нашел каких-лтбо комманд, касающихся определения группы.
ПС
Спасибо Вам за Ваши комментарии - очень полезно ;) -
dkobzev March 26th, 2010 @ 09:17 PM
Добавить в d.multicall еще и d.get_custom1 для всех если.
для единичного d.get_custom1Еще есть это:
view_add
view_set
view_list
download_listСтавит произвольные статусы к торрентам. Для групп наверное это слишком, но тоже может быть полезно. И еще view_list выводит все стандартные статусы. Фильтровать по ним всем нет необходимости, но вот визуальную индикацию сделать для всех стоит, а то сейчас не понять что с закачкой происходит.
-
dkobzev March 26th, 2010 @ 09:19 PM
для единичного d.get_custom1 "torrenthash"
torrenthash в угловых скобках вырезало :)
-
vovasty March 26th, 2010 @ 09:29 PM
Тогда можно делать так: ставить название группы в custom1 и добавлять во view с таким же именем. Это, конечно, не очень надежно, но все же. Считывать каждую группу по отдельности слишком накладно.
-
dkobzev March 26th, 2010 @ 10:54 PM
http://libtorrent.rakshasa.no/ticket/804
судя по примерам view служит для фильтрации по данным закачки. Метки туда не очень вписываются.Считывать поле custom1 для списка закачек прийдется все равно, оно необходимо для дальнейшей сортировки по группам всего списка. Весь список загружается со всеми параметрами при старте, почему бы в это время и не сформировать массив со списком уникальных групп? А дальше предикатом по списку. По ресурсам не более емко чем в любое время создать массив отдельным запросом.
-
vovasty March 26th, 2010 @ 11:03 PM
Судя по примеру, custom1 более чем подходит для меток. View и Group могут быть сопоставлены торрентам по этому полю
-
dkobzev March 27th, 2010 @ 12:19 AM
xmlrpc nas d.multicall default d.get_custom1= d.views= group.rat_7.view=
Index 0 String: '%D0%9A%D0%B0%D0%BF%D1%80%D0%B8%D0%BA%D0%B0'
Index 1 Array of 1 items: Index 0 String: 'rat_7' Index 2 String: 'rat_7'
В custom, custom1,…custom(N) все текстовое. Хранят имя группы, пути и т.д….
views массив. Может содержать несколько view для одной закачки. view это отображение списка по фильтру.
А group ставит настройки ратио и ограничений и привязывает их к view.Если у закачки может быть несколько view и метки будут во view, может случиться что закачка окажется сразу в нескольких группах) Но с другой стороны group c его настройками ратио больше никак не привязать к группе в Nativa.
-
vovasty March 27th, 2010 @ 02:33 AM
вот я и говорю - вы можете сделать view с фильтром по custom. Вернее так, в дальнейшем можно будет сделать этакий редактор rtorrent.rc, который и будет формировать всякие там groups
Плюс, под маками последний rtorrent не собирается с xml_rpc.advanced, а группы, насколько я понял, появились в 0.86
Итого. На данный момент я остановлюсь на реализации меток в полях custom.
В дальнейшем, когда решу проблемы с SSH, попытаюсь сделать какой-нибудь редактор групп, ratio и тп -
dkobzev March 27th, 2010 @ 03:20 AM
http://www.rudix.org/packages-rst.html#rtorrent 0.8.6 доступна. Хотя у меня стоит на NAS под linux.
Вроде мак версия идентичная на 100%.torrent.rc трогать плохая идея. Все параметры конфига переназначаются через RPC, и замещают загруженные из torrent.rc и до перезагрузки сервера сброшены не будут. На данный момент у меня torrent.rc с указанием папки, порта и адреса SCGI, кодировки, ограничением места и маской прав на новые закачки и это все... А все остальное выставляет WebUI rutorrent и самописный скрипт на perl для автозакачки с rss рассылок. Гораздо правильнее хранить конфиг локально и если настройки сброшены заново их устанавливать. В случае различия комбинировать (если что-то установлено другим клиентом).
Полный спектр возможностей rtorrent доступен через xmlrpc, включая задания по расписанию и выполнение команд по событию, зачем дефолтный конфиг то трогать? -
dkobzev March 27th, 2010 @ 03:28 AM
Ах да, еще еще есть session файлы, которые позволяют восстановить список закачек после рестарта. Так вот они представляют из себя обычные .torrent файлы но с добавленными полями, такими как custom, group, view и т.д. в общем со всеми установленными на закачку параметрами. Они соответственно после рестарта не сбрасываются.
-
vovasty March 27th, 2010 @ 03:54 AM
спасибо за ссылку. Эта версия без xmlrpc, увы.
Дефолтные установки нужны на случай перезагрузки сервера - он может быть перезагружен во время работы клиента.
Сам по себе rtorrent.rc не такой уж и сложный, его вполне можно править без потери пользовательских данных.
В общем, пока я к этому не готов. Вроде, группы как-то работают - и слава богу =)
-
dkobzev March 27th, 2010 @ 05:04 AM
спасибо за ссылку. Эта версия без xmlrpc, увы.
Но собрать все таки можно)
http://rakshasa.no/pipermail/libtorrent-devel/2008-May/001620.htmlДефолтные установки нужны на случай перезагрузки сервера - он может быть перезагружен во время работы клиента. Сам по себе rtorrent.rc не такой уж и сложный, его вполне можно править без потери пользовательских данных. В общем, пока я к этому не готов. Вроде, группы как-то работают - и слава богу =)
Всетаки лучше совсем не трогать. Практически все необходимое он возьмет из session файлов. А остальное, глобальные настройки, порты, dht, количество сокетов, соединений, портов, максимально открытых портов, используемой памяти... лучше ставить временно. На слабой машине одна ошибка убьет сервер и без редактирования конфига ручками сервер не поднимется. А так справится небольшой скрипт по крону, прибьет зависший сервер и перезапустит. А временные настройки от клиента можно обновить при восстановлении соединения после обрыва связи в случае падения сервера.
-
vovasty March 27th, 2010 @ 05:31 AM
Но собрать все таки можно) http://rakshasa.no/pipermail/libtorrent-devel/2008-May/001620.html
как автор этого трика авторитетно утверждаю - можно собрать, но до версии 0.82. потом проблемы с libxml :)
Всетаки лучше совсем не трогать. Практически все необходимое он возьмет из session файлов. А остальное, глобальные настройки, порты, dht, количество сокетов, соединений, портов, максимально открытых портов, используемой памяти... лучше ставить временно. На слабой машине одна ошибка убьет сервер и без редактирования конфига ручками сервер не поднимется. А так справится небольшой скрипт по крону, прибьет зависший сервер и перезапустит. А временные настройки от клиента можно обновить при восстановлении соединения после обрыва связи в случае падения сервера.
- Как
отличить
обрыв
соединения
(посмотрите
в логи -
соединение
непрерывно
рвется) от
перезагрузки
сервера
(или только
самого rtorrent)? Nativa
работает
урывками, в
отличие от
вебклиентов
- Мне не так много нужно править в rtorrent - только отграниченния на скорость (глобально), view да groups. Пожалуй и все.
- Как
отличить
обрыв
соединения
(посмотрите
в логи -
соединение
непрерывно
рвется) от
перезагрузки
сервера
(или только
самого rtorrent)? Nativa
работает
урывками, в
отличие от
вебклиентов
-
dkobzev March 27th, 2010 @ 05:48 AM
Ну глобальное ограничение скорости вроде уже реализовано, и нормально работает.
А вот определить рестарт сервера можно хотя бы по тому же глобальному ограничению скорости, если сбросилось, а кнопка не нажималась, значит был рестарт (лучше правда по чему нибудь очень редкому). Хотя так же возможно ограничение кто-то снял с другого клиента. :) Но в этом случае Nativa будет вечно пытаться править torrent.rc, а второй клиент выставлять временные настройки поверх.
Еще с torrent.rc будет такая проблема, в моем случае сервисы rtorrent, lighttpd, samba, afpd… работают под пользователем у которого нет директории home и rtorrent стартует с ключем -n -o import=/var/etc/rtorrent.conf
Похожая проблема будет на большинстве embeded систем и путь к конфигу у многих будет разный. -
dkobzev March 27th, 2010 @ 10:18 PM
Посмотрел последние обновления, есть пару багов:
- Только
созданные
группы не
применяются
(применяются,
но группа
не
отображается,
закачка
становится
в No Group), надо
делать
рестарт
приложения
что бы
отобразились
изменения.
- Метки на
кирилице
не
приминяются
Nativa[2689:6acb] Unable to set group for torrent: Network
timeout
- Метки присутствующие на закачках, но не добавленные в настройках Nativa игнорируются.
- Только
созданные
группы не
применяются
(применяются,
но группа
не
отображается,
закачка
становится
в No Group), надо
делать
рестарт
приложения
что бы
отобразились
изменения.
-
vovasty March 28th, 2010 @ 03:26 AM
Только созданные группы не применяются (применяются, но группа не отображается, закачка становится в No Group), надо делать рестарт приложения что бы отобразились изменения.
ну, уже работает =) Вы очень торопитесь -)
Метки на кирилице не приминяются Nativa[2689:6acb] Unable to set group for torrent: Network timeout
Боюсь, это уже к rtorrent
Метки присутствующие на закачках, но не добавленные в настройках Nativa игнорируются.
так и есть. Пока что я н придумал, что с этим делать. Можно синхронизировать на старте - но это ненадежно (изменения могут произойти и "посередине"), плюс, мои группы обладают дополнительным параметром (цветом). В общем, пока идей нет как все правильно сделать.
-
dkobzev March 28th, 2010 @ 04:03 AM
ну, уже работает =) Вы очень торопитесь -) ок. обновляюсь. =) У вас кстати там файлик NSStringTorrentAdditions.h а везде import NSStringAdditions.h править каждый раз перед сборкой приходится. Оно в принципе и так собирается, но панелька с ратио и скачано / роздано не работает тогда.
Метки на кирилице не приминяются Nativa[2689:6acb] Unable to set group for torrent: Network timeout Боюсь, это уже к rtorrent
Я выше вывод консоли с русской меткой приводил :)
Index 0 String: '%D0%9A%D0%B0%D0%BF%D1%80%D0%B8%D0%BA%D0%B0' rtorrent скорее всего просто в UTF не может хранить. А в ascii на любом языке должен.
так и есть. Пока что я н придумал, что с этим делать. Можно синхронизировать на старте - но это ненадежно (изменения могут произойти и "посередине"), плюс, мои группы обладают дополнительным параметром (цветом). В общем, пока идей нет как все правильно сделать.
Цвет как вариант использовать какой нибудь default для таких случаев, ну или рандом. Сложнее будет с директорией закачки потом, если попадутся с одной меткой, но в разных директориях) А с проверкой на изменения надо что-то придумывать. У меня например стоит расписание, ночью выставляется глобальное ограничение скорости, "черепашка" загорается только после рестарта Nativa. И таких объектов много еще будет.
-
dkobzev March 28th, 2010 @ 04:11 AM
Собрал кстати последние xmlrpc и rtorrent. Может кому потребуются.
Линковка статическая. Для работы xmlrpc требуется SCGI MountPoint в /RPC2/, в отличии от Nativa с SCGI портом rtorrent на прямую не работает. -
vovasty March 28th, 2010 @ 04:39 AM
У вас кстати там файлик NSStringTorrentAdditions.h а везде import NSStringAdditions.h править каждый раз перед сборкой приходится. Оно в принципе и так собирается, но панелька с ратио и скачано / роздано не работает тогда.
Все никак не дойдут руки почистить код.
Я выше вывод консоли с русской меткой приводил :)
ммм, не вариант для азиатских языков, да и вообще, неясно, в какой ascii переводить. Да и UTF идет в самом rtorrent, к примеру, для имен файлов. Избегайте русских меток=)
Собрал кстати последние xmlrpc и rtorrent. Может кому потребуются.
Как это Вам удалось? В последней xml-rpc (которая не 1.06) масса проблем с линковкой.
-
dkobzev March 28th, 2010 @ 05:22 AM
Все брал последнее из stable. Были проблемы при сборке только с sigc++, он пытался что-то из своей документации записать в /usr/local/doc, без прав на это, естественно прерывал сборку. Добавил в мейкфайл директиву отключающую ему сборку документации и все собралось без проблем даже libcurl.pc не правил.
Мейкфайл в атаче
-
dkobzev March 28th, 2010 @ 05:39 AM
ммм, не вариант для азиатских языков, да и вообще, неясно, в какой ascii переводить. Да и UTF идет в самом rtorrent, к примеру, для имен файлов. Избегайте русских меток=)
UTF в rtorrent по умолчанию, кодировка меняется параметром encoding_list на любую другую.
xmlrpc nas d.set_custom1 902E3A770E9732E355229824941CDE45B06F4AA0 Проба
в rutorrent появилась метка "Проба".
xmlrpc nas d.get_custom1 902E3A770E9732E355229824941CDE45B06F4AA0
Видимо хранится в C String просто. -
vovasty March 28th, 2010 @ 06:05 AM
Все брал последнее из stable. Были проблемы при сборке только с sigc++, он пытался что-то из своей документации записать в /usr/local/doc, без прав на это, естественно прерывал сборку. Добавил в мейкфайл директиву отключающую ему сборку документации и все собралось без проблем даже libcurl.pc не правил.
Неее, stable нельзя, только advanced можно =) В stable проблема с большими цифрами(10^6?) (не поддерживается i4)
-
dkobzev March 28th, 2010 @ 06:12 AM
Точнее даже как URL хранится. Причем принимает простую С строку, а возвращает только в URL.
В rutorrent используют JS decodeURIComponent() при считывании параметра.
И англоязычные метки установленные в rutorrent выглядят как My%20Downloads. Метка My Downloads установленная из Nativa так и выглядит. Почему-то rtorrent метки от Nativa не конвертирует в URL строку, по той же причине видимо не принимает русских слов. -
vovasty March 28th, 2010 @ 08:14 AM
так, вроде, с группами все (кроме синхронизации с существующими - это отдельная песня)
все должно работать (включая русские буквы в метках - помогло Ваше последнее исследование)
Я бы хотел выразить Вам благодарность с занесением в "about" (ммм, очень похоже на с занесением в фотокарточку, хехе). Так что если Вас есть какая-нибудь личная страничка, то сообщите мне. Если Вы не хотите, чтобы я Вас включал в "about" - сообщите тоже. Моя почта vovasty собака(обезьянка, улитка, а-коммерческая ...) aramzamzam.net
-
dkobzev March 28th, 2010 @ 09:42 AM
Неее, stable нельзя, только advanced можно =) В stable проблема с большими цифрами(10^6?) (не поддерживается i4)
Смог собрать с последним снапшотом xmlrpc-c из advanced. Только сборка динамическая, библиотеки в архиве вместе с rtorrent и xmlrpc. Статически пока собрать не удалось. Там configure отрабатывает очень багнуто, при линковке библиотеки других ос слинковать пытается. С этим просто все, но сел на crt0.o которая линкуется только в статике. Эта библиотека не указывается при линковке в мейках xmlrpc. Получает видимо из LD флага ос, но такой библиотеки в ос нет. В общем есть чем заняться в ближайшее время :).
так, вроде, с группами все (кроме синхронизации с существующими - это отдельная песня) все должно работать (включая русские буквы в метках - помогло Ваше последнее исследование)
Cупер. Все работает. Русские метки работают :). Создал метки с идентичными именами какие стоят на закачках, все подхватил и раскидал по группам. На счет "все", еще одну мелочь надо бы =) рядом с названием группы количество элементов в ней, а то что бы узнать если что внутри, надо развернуть.
Я бы хотел выразить Вам благодарность с занесением в "about" (ммм, очень похоже на с занесением в фотокарточку, хехе). Так что если Вас есть какая-нибудь личная страничка, то сообщите мне. Если Вы не хотите, чтобы я Вас включал в "about" - сообщите тоже. Моя почта vovasty собака(обезьянка, улитка, а-коммерческая ...) aramzamzam.net
Я не против, но страницы нет (по крайней мере пока).
-
vovasty March 29th, 2010 @ 06:45 AM
- Milestone set to 0.4.0
-
vovasty March 29th, 2010 @ 06:46 AM
- State changed from open to resolved
-
dkobzev March 29th, 2010 @ 01:59 PM
У меня например стоит расписание, ночью выставляется глобальное ограничение скорости, "черепашка" загорается только после рестарта Nativa. И таких объектов много еще будет.
Видимо это как то правилось. Черепашка теперь при запуске все время горит. Дело в том, что в rtorrent 0 без ограничений, но после установки значения в 0, он сам меняет его на макс. скорость канала. В моем случае это 10240. А проверка похоже на 0 стоит и 10240 считается ограничением скорости.
-
vovasty March 29th, 2010 @ 03:17 PM
это странно. Проверка все время была на 0. Может, это у вас что-нибудь?
-
dkobzev March 30th, 2010 @ 02:22 AM
Возможно. Я позже заметил что висело 4 туннеля на 5000 порт. Не знаю как такое получилось. Видимо глюк из-за этого.
А размер канала выставляет не rtorrent, а ruttorent. Не знаю зачем им это потребовалось? -
dkobzev March 30th, 2010 @ 04:30 PM
Эмм… Загрузка "чужих" меток и кастомное поле для меток групп думаю не нужны. Побаловался с кастом полем, уронил rtorrent. Слишком много гадости всплывает.
Думаю не стоит вообще ориентироваться на другие UI, посмотрел wtorrent там вообще views для меток используется, все не предусмотреть, а текущая гибкость с кастом полем доставит проблем "не продвинутым" пользователям. -
vovasty March 30th, 2010 @ 04:44 PM
Кастомное поле нужно, чтобы не вести свою базу меток. А как упал
rtorrent? И какие проблемы были с полями? -
dkobzev March 30th, 2010 @ 05:28 PM
Я и не говорю что кастомное поле нужно убрать. Просто если метки custom1, то пусть и будут только в custom1, нельзя давать менять пользователю.
Я ради интереса сменил на custom2, там пути закачки от rutorrenta и у некоторых custom2 существует(не определена). При считывании rtorrent лег. Хотя и для custom1 все равно нужно как-то проверку делать, мало ли какую гадость туда могут поместить, но так определенней хотя бы, не надо учитывать все возможные предназначения custom поля. -
vovasty March 30th, 2010 @ 06:17 PM
нене, настройка нужна такая - она просто вынесена в advanced. Мало ли
у кого что в custom1 лежит.
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป
native Mac OS X client for rtorrent
more information: http://www.aramzamzam.net/nativa/
People watching this ticket
Attachments
Referenced by
- 19 Not displaying torrent sizes over 4GB properly You can use rtorrent, compiled for SL by Denis Kobzev fro...
- 10 Groups (from [d6d011a9e2ff]) initial groups [#10] http://bitbuck...
- 10 Groups (from [ff9aea02009b]) groups settings, groups context men...
- 11 Nativa Crashing rTorrent http://aramzamzam.lighthouseapp.com/projects/46068/ticke...