avangard aria2gui - качалка для data.cod.rulinux, aria2c, zenity, gui, datacod

Накрапал небольшую гуёвую качалку по списку файлов для data.cod использую aria2c и zenity. aria2c использовал ибо и в zenity проценты скачанного может отдать и дозагрузка файла работает адекватно, ну и самое главное что имя файла корректно получить в отличии от wget . Хотя и wget пришлось использовать — не нашел как перенаправить вывод от aria2 на stdout (если кто знает как это сделать, подскажите).
Если кто не знает то, data.cod это сервис обмена файлами для пользователей авангарда — у нас во Пскове скорость закачки оттуда почти метр/сек при тарифе в мегабитку. Так же можно использовать и как просто гуёвую качалку, ибо если не data.cod то качаем без изысков sed'а
#!/bin/sh
# data.cod.sh
# GUI file downloader for Pskov.Data.Cod.Ru & datagrad
# Powered by muhas (http://muhas.ru)
# 
TITLE="avangard aria2gui"
URL=$(zenity --title="$TITLE" --text-info --editable --title="Введите список URL" --width=500 --height=300)

for URL in $URL 
do
	FOUND=`echo $URL| grep data.cod.ru`
	if [ -n "$FOUND" ]; then
		URL=`wget -q $URL -O - |sed '/download/!d'|awk -F\" '{print ($4)}'`
		if [ -n "$URL" ]; then
			echo "файл найден"
		else 
			echo "не найден"
			notify-send "Ошибка" "Файл отсутсвует на сервере" && continue;
		fi
		
	fi
	aria2c $URL --file-allocation=none |grep  -E -o "[0-9]+%" --line-buffered | zenity --title="$TITLE" --text="загружаем $URL" --progress  --auto-close --auto-kill --width=400
done
notify-send "Загрузка завершена" "Загрузка файлов из списка завершена"
Конечно как полноценная качалка не катит, но для использования data.cod мне вполне хватает. Можно дописать получение урлов с stdin и выбор папки сохранения после чего пользовать как простейщую гуёвую качалку, но надобность такой для меня отсутствует.
26-10-2009, 14:02    Комментарии: 2
↤ Мои пакеты из AUR в бинарниках
Немного будущего mcabber ↦



andrew # 27-10-2009, 17:58 avatar> ну и самое главное что имя файла корректно получить в отличии от wget

wget'ом тоже можно получить правильное имя файла, параметр --content-disposition

muhas # 27-10-2009, 20:58 avatar andrew, If this is set to on, experimental (not fully-functional) support for "Content-Disposition" headers is enabled и т.д.

вообще зачастую не получает имя. хотя с вгетом попроще в zenity отправлять. я бы curl заюзал но остановило извращения по отправке в zenity количества скачанного, а так grep -E -o "[0-9]+%" и всё (в wget ещё и sed юзать надо)

nick:  http:// mail: проверочный код
подписаться на комментарии