LINUX.ORG.RU

[DCPP][SimpleDC++][Part 2] Попинайте поделие.

 


0

0

Некоторое время назад (http://www.linux.org.ru/view-message.jsp?msgid=2872564&lastmod=1214335047801) я писал о том, что начал разработку DC++ клиента на языке Python. С тех пор многое изменилось, отпуск закончился, а код я таки переписал. Пользуюсь написанным сам уже дня два, вроде все работает (очень редко правда рэндомные сегфолты, подозреваю то что в гтк я не все локи проставил\ ). Итого прошу попинать,потестить, кто хочет, может помочь.
Фичи которые уже есть, помимо основных:
-Мультисегментная закачка
-Загрузка директорий из окна поиска (мне очень не хватало в валкнуте)
-Открытие/генерация magnet-ссылок. (копировать в буфер обмена, ткнуть в трэй правой кнопкой мыши, выбрать Open magnet-link и нажать ок, либо ткнуть в чате на magnet-ссылку)
-Открытие окна чата с пользователем простым кликом на нике в чате (кто-то просил тут)
и по мелочи.
_Не работает_ пассивный режим ни в одном из своих проявлений.
Как установить и воспользоваться:
установить зависимости, это емнип: tthsum, python-psyco, python-glade2, python-gtk2, python-notify, ну и, собственно, сам питон.
Далее:
svn checkout http://simpledcpp.googlecode.com/svn/trunk/ simpledcpp-read-only
cd simpledcpp-read-only/
-- следующие два шага можно пропустить, тогда придется запускать программу как ./bin/simpledcpp --
make
sudo make install
-- создание файллиста, например так: --
simpledcpp "--folders:Мои файлы:/home/n0uk/Видео:Мои картинки:/home/n0uk/Картинки" --recreate
-- ждете рехэша, в дальнейшем можно делать запускать "simpledcpp --recreate", и считать tthsum программа будет только для новых файлов. --
simpledcpp
-- теперь идете в Preferences/Параметры вводите ип, порт, ник, етцетцетц. _и жмете Apply_ --

Связаться со мной можно написав на nix[dot]n0uk[dog]gmail[dot]com .
З.Ы. Тестил это дело на Ubuntu 8.04.1, локаль utf-8 (с другой локалью скорее всего могут быть траблы)
З.З.Ы. Кодировка по умолчанию -- cp1251, чтобы это исправить нужно вбить в ~/.simpledcpp/settings.xml или заменить строку <p name='codepage'>cp1251</p> вместо cp1251 -- свою кодировку.
З.З.З.Ы. Это даже не преальфа.
удалить если вы уже установили:
sudo make uninstall


Народ, давайте поддержим начинание по созданию нормального DC++ клиента для Linux! На канале LinuxDC++ мне написали, что LinuxDC++ не будет поддерживать многопоточной закачки, потому что они создают просто реализацию стандартного DC++ для линукса.

Автору программы спасибо за начинание!!!

Shalakhin
()

>(очень редко правда рэндомные сегфолты, подозреваю то что в гтк я не все локи проставил\ ).
Fixed вроде, кто успел скачать, обновите свн.

nnkd
() автор топика

Каждый программист обязан написать свой NMDC клиент?

Ваш энтузиазм да на доработку существующих проектов. А так это очередное изобретение велосипеда.

Ни одного комментария в коде, ни одного юнит-теста, полное пренебрежение PEP8.

anonymous
()
Ответ на: комментарий от anonymous

>Ваш энтузиазм да на доработку существующих проектов. А так это очередное изобретение велосипеда.
Существующие проекты которые стоит дорабатывать на с++, работая с которым я не испытываю никакого морального удовлетворения. А начиналось писаться как раз джаст фо фан и для себя.
>Ни одного комментария в коде, ни одного юнит-теста, полное пренебрежение PEP8.
Полное незнание о существовании PEP8, спасибо за просвящение).

nnkd
() автор топика

Молодец.

Думаю, нет смысла направлять усилия на поддержку существующего треша. Я имею в виду LinuxDC++. А вот написать с нуля на Python - отличная идея. Хорошо было бы если бы это еще и под виндами работало.

Kpoxman ★★
()
Ответ на: комментарий от Kpoxman

>Хорошо было бы если бы это еще и под виндами работало.
Не задавался такой целью, но:
по идее если поставить на винду tthsum/bzcat/bzip2, заменить в немногочисленных строках '/' на os.sep, и '/tmp/' на что нибудь другое, то должно завестись без проблем.

nnkd
() автор топика
Ответ на: комментарий от nnkd

Кросплатформенность сильно поднимает "статус" проекта. Грех писать linux-only приложение на Python :)

tthsum/bzcat/bzip2 - это лучше делать не системными вызовами, а с помощью библиотек. Либо питоновских (если есть), либо добавить в проект C-шные.

'/' на os.sep и т.д. - обязательно.

Потом, если в проекте будет сколь-нибудь сложная сборка, то лучше заюзать SCons вместо Make.

Kpoxman ★★
()
Ответ на: комментарий от Kpoxman

Спасибо за рекомендации :) Как появится следующее свободное время, поиграюсь с виртуалбоксом).

nnkd
() автор топика
Ответ на: комментарий от nnkd

Почитайте еще про cmake. Популярность у него повыше (KDE например).

kod-x
()
Ответ на: комментарий от Dark_SavanT

Демон есть только в далеких, скорее невыполнимых планах.
А консольная версия в ближайших, аналог wget сделать очень просто, нужно только время найти и желание.

nnkd
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.