LibRusLib
Понедельник, 25.11.2024, 20:56
Приветствую Вас Гость | RSS
 
Главная ФорумРегистрацияВход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Архив - только для чтения
Продолжаем работу
drserjДата: Понедельник, 01.02.2010, 23:12 | Сообщение # 46
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Ну, на перле - вряд ли многим... Впрочем, позже, можно будет и без перла написать...
Хотя, чем Download Manager не угодил - не знаю. Там, вроде, нрмально работает закачка по шаблону... И докачка хорошо реализована. Есть шедуллер...


drSerj
 
ruporДата: Вторник, 02.02.2010, 20:19 | Сообщение # 47
Рядовой
Группа: Пользователи
Сообщений: 11
Репутация: 0
Статус: Offline
Можно обойтись CMD файлом. Для librusec работает вот это:

Code

REM Download latest daily archives

SET NAME=librusec
SET SITE=http://lib.rus.ec
SET CDIR=%~dp0
SET WDIR=%~dp0%NAME%

wget --progress=dot:mega --user-agent=Mozilla/5.0 --append-output=%CDIR%\log_%NAME%_archives.log --recursive --no-directories --no-parent --no-remove-listing --accept=*.zip --directory-prefix=%1\%NAME% --no-clobber %SITE%/all/daily

А для flibusta вот это:

Code

REM Download latest daily archives

SET NAME=flibusta
SET SITE=http://www.flibusta.net
SET CDIR=%~dp0
SET WDIR=%~dp0%NAME%

wget --progress=dot:mega --user-agent=Mozilla/5.0 --append-output=%CDIR%\log_%NAME%_archives.log --recursive --span-hosts --no-directories --no-parent --no-remove-listing --accept=*.zip --directory-prefix=%1\%NAME% --no-clobber -e robots=off %SITE%/daily

wget живет здесь: http://gnuwin32.sourceforge.net/packages/wget.htm

 
drserjДата: Вторник, 02.02.2010, 20:50 | Сообщение # 48
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Прекрасное решение, но... Некоторые нарвутся на грабли - файлы, выложенные раньше, были перепакованы из-за ряда ошибок при формировании... И wget их тупо запортит... в лучшем случае - перекачает, в худшем - допишет к архиву "нехватающий" по размеру хвост... проверено.

На перле (уже написал, ща слегка под вынь дооптимизирую) я сначала проверяю список существующих файлов, а потом закачиваю wget-ом те, которых нет в каталоге. Есть возможность проверки всех архивов на предмет корректности, если не пройдет тест unzip - в перекачку. Но, поскольку процесс противно длинный - по-умолчанию закомментил. Кому надо - раскомментят.

В идеале - лучше написать на ява-скрипте или на vbs. Это точно есть у всех, в отличие от перла.


drSerj
 
drserjДата: Вторник, 02.02.2010, 21:06 | Сообщение # 49
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Так, перловые скрипты для либруса и флибусты - тут http://libruslib.ucoz.com/tools/perl_dl_dayly.ZIP
в комплекте wget и unzip. Вес архива - аж 461k smile

В скриптах поправьте пути к своим папкам

Плиз, пишите отзывы о работоспособности.

Если кто-то возьмется - перепишите на ява-скрипт или vbs для тех, у кого нет перла.


drSerj
 
ruporДата: Вторник, 02.02.2010, 21:07 | Сообщение # 50
Рядовой
Группа: Пользователи
Сообщений: 11
Репутация: 0
Статус: Offline
Ключи wget выставленны таким образом, что если файл существует - он не будет тронут. Совсем - тоже проверено. Для того, чтобы файл перекачался - его надо сначала локально удалить. Докачка не включена - во избежание. Проверка timestamps тоже не включена - во избежание. Я ранаю эти скрипты из task scheduler довольно давно.

Единственная проблема - если закачался битый файл. В обычном случае он бы был перекачан, а так - нет.

Зачем умножать сущности?

Сообщение отредактировал rupor - Вторник, 02.02.2010, 21:09
 
drserjДата: Вторник, 02.02.2010, 21:09 | Сообщение # 51
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Quote (rupor)
Единственная проблема - если закачался битый файл...

ну это и у меня в скрипте отключено по-умолчанию, хотя, включить можно.


drSerj
 
1_абрамДата: Среда, 03.02.2010, 13:01 | Сообщение # 52
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Quote (drserj)
Так, перловые скрипты для либруса и флибусты - тут http://libruslib.ucoz.com/tools/perl_dl_dayly.ZIP
в комплекте wget и unzip. Вес архива - аж 461k

Огромное спасибо. Проверил для флибусты. Одно замечание, при аварийном завершении программы (cntrl+C) и повторном ее запуске начинается закачка с первого файла (f.173909-174319.zip.1). При этом, файлы f.173909-174319.zip и несколько следующих были успешно закачаны. Это так и должно быть? По идее должны закачиваться только новые файлы.

Сообщение отредактировал 1_абрам - Среда, 03.02.2010, 13:45
 
drserjДата: Среда, 03.02.2010, 16:30 | Сообщение # 53
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Quote (1_абрам)
Огромное спасибо. Проверил для флибусты. Одно замечание, при аварийном завершении программы (cntrl+C) и повторном ее запуске начинается закачка с первого файла (f.173909-174319.zip.1). При этом, файлы f.173909-174319.zip и несколько следующих были успешно закачаны. Это так и должно быть? По идее должны закачиваться только новые файлы.

Да нет, не должно... у меня вполне нормально отрабатывает... странно. Специально проверка на наличие файла идет. Вот если проверку раскомментил - да, будет перекачивать те, которые недокачал. Впрочем, можешь включить докачку - ключик глянь какой и впиши...
хотя, я не уверен, гонял проверку зипа под юнихами, а под виндой - забыл smile Попробую...


drSerj
 
1_абрамДата: Среда, 03.02.2010, 21:42 | Сообщение # 54
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Виноват, посмотрел код нашел у себя ошибочку:

Вместо
$outpath = "C:\\tmp\\5\\book\\";

написал

$outpath = "C:\\tmp\\5\\book";.

Теперь все заработало как надо.

Еще раз спасибо.

 
drserjДата: Четверг, 04.02.2010, 09:13 | Сообщение # 55
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Поздравляю smile

drSerj
 
1_абрамДата: Четверг, 04.02.2010, 13:44 | Сообщение # 56
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Ура. В первый раз нашел настоящий баг.

Вкладка "Группы". Выбираю созданную мной группу "Рекомендовано к прочтению". Жму кнопку "Показывать только скачанное" . При этом сначало появляется надпись "Ожидайте" (лучше было бы "Подождите немного", но это дело вкуса), после этого список не изменяется (хотя в нем есть книжки с пустым полем скачано). Это раз.

Далее выбираю книжку и жму в нижней (информационной панеле) на автора. Появляется сообщение "You have an error SQL syntax .... near 'Group BY avtorid' at line 3". Это два.

Если еще раз нажать кнопку "Показывать только скачанное" и повторить описанное выше - то все работает нормально.

 
drserjДата: Четверг, 04.02.2010, 19:53 | Сообщение # 57
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Quote (1_абрам)
Ура. В первый раз нашел настоящий баг.

а баг ли ? smile

Quote (1_абрам)
Вкладка "Группы". Выбираю созданную мной группу "Рекомендовано к прочтению". Жму кнопку "Показывать только скачанное" . При этом сначало появляется надпись "Ожидайте" (лучше было бы "Подождите немного", но это дело вкуса), после этого список не изменяется (хотя в нем есть книжки с пустым полем скачано). Это раз.

Ну, могу утешить, у меня тоже не убирает... Вот пытаюсь вспомнить, а оно там вообще должно ли убираться... smile Вроде, это только для 3 первых закладок... И при нажатии на кнопку - отрабатываются все 3 запроса (даже если активна другая вкладка, на которой этот режим неактивен)

А вот то, что переход по ссылке на автора в режиме "Только скачанное" ошибку дает - да, баг... видимо, запрос не поправил для этого режима...

Мдя... проблема... А что делать, если в скачанном такого автора нет ??? Т.е. автор виден во вкладках Группы, Новинки, Загрузки, но включен режим "Только скачанное" и в Авторах его не видно... Что, отключать режим ссылок на метках, когда установлен режим "Только скачанное" ???


drSerj
 
1_абрамДата: Пятница, 05.02.2010, 09:33 | Сообщение # 58
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Quote (drserj)
Мдя... проблема... А что делать, если в скачанном такого автора нет ??? Т.е. автор виден во вкладках Группы, Новинки, Загрузки, но включен режим "Только скачанное" и в Авторах его не видно... Что, отключать режим ссылок на метках, когда установлен режим "Только скачанное" ???

Как всегда есть два решения (одно из них универсальное):

1) Объявляем этот баг фичей.

2) Показываем у автора пустой список книг.

Кстати, я не уверен в полезности кнопки "Показывать только скачанное". У меня на всех вкладках стоит фильтр по полю скачано. *Скачна = пусто", Когда нужно ставлю галочку - получаю список скачанных книг.

 
drserjДата: Пятница, 05.02.2010, 12:42 | Сообщение # 59
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Quote (1_абрам)
1) Объявляем этот баг фичей.

не, это пока баг, коль ошибка выскакивает.

Quote (1_абрам)
2) Показываем у автора пустой список книг.

Самого автора нет в списке. Поэтому увы.

Quote (1_абрам)
Кстати, я не уверен в полезности кнопки "Показывать только скачанное". У меня на всех вкладках стоит фильтр по полю скачано. *Скачна = пусто", Когда нужно ставлю галочку - получаю список скачанных книг.

Я тоже, но народ сильно просил, я добавил.

Вижу несколько вариантов:

1. Делать ссылки на автора и жанр неактивными в режиме "Только скачано"
2. Выводить сообщение, если автора со скачанными книгами нет.
3. (фиговое) переключать автоматом в режим полного просмотра...


drSerj
 
1_абрамДата: Пятница, 05.02.2010, 13:01 | Сообщение # 60
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
1 - наверно легче сделать, 2 - конечно оптимально.

Еще одно замечание.

Сейчас есть возможность отслеживать скачана книжка или нет, т.е. содержится ли она в папке определяемой "Размещение скачиваемых файлов библиотеки" . Хотелось бы иметь аналогичную информацию о том содержится книжка в архивах ("Путь к архивам локальной коллекции"). Ну и м.б. возможность устранения дублирования книжек в архивах и в скачанных книжках.

 
Поиск:

Copyright LibRusLib © 2024