Продолжаем работу
|
|
drserj | Дата: Понедельник, 01.02.2010, 23:12 | Сообщение # 46 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Ну, на перле - вряд ли многим... Впрочем, позже, можно будет и без перла написать... Хотя, чем Download Manager не угодил - не знаю. Там, вроде, нрмально работает закачка по шаблону... И докачка хорошо реализована. Есть шедуллер...
drSerj
|
|
| |
rupor | Дата: Вторник, 02.02.2010, 20:19 | Сообщение # 47 |
Рядовой
Группа: Пользователи
Сообщений: 11
Статус: 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
Статус: Offline
| Прекрасное решение, но... Некоторые нарвутся на грабли - файлы, выложенные раньше, были перепакованы из-за ряда ошибок при формировании... И wget их тупо запортит... в лучшем случае - перекачает, в худшем - допишет к архиву "нехватающий" по размеру хвост... проверено. На перле (уже написал, ща слегка под вынь дооптимизирую) я сначала проверяю список существующих файлов, а потом закачиваю wget-ом те, которых нет в каталоге. Есть возможность проверки всех архивов на предмет корректности, если не пройдет тест unzip - в перекачку. Но, поскольку процесс противно длинный - по-умолчанию закомментил. Кому надо - раскомментят. В идеале - лучше написать на ява-скрипте или на vbs. Это точно есть у всех, в отличие от перла.
drSerj
|
|
| |
drserj | Дата: Вторник, 02.02.2010, 21:06 | Сообщение # 49 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Так, перловые скрипты для либруса и флибусты - тут http://libruslib.ucoz.com/tools/perl_dl_dayly.ZIP в комплекте wget и unzip. Вес архива - аж 461k В скриптах поправьте пути к своим папкам Плиз, пишите отзывы о работоспособности. Если кто-то возьмется - перепишите на ява-скрипт или vbs для тех, у кого нет перла.
drSerj
|
|
| |
rupor | Дата: Вторник, 02.02.2010, 21:07 | Сообщение # 50 |
Рядовой
Группа: Пользователи
Сообщений: 11
Статус: Offline
| Ключи wget выставленны таким образом, что если файл существует - он не будет тронут. Совсем - тоже проверено. Для того, чтобы файл перекачался - его надо сначала локально удалить. Докачка не включена - во избежание. Проверка timestamps тоже не включена - во избежание. Я ранаю эти скрипты из task scheduler довольно давно. Единственная проблема - если закачался битый файл. В обычном случае он бы был перекачан, а так - нет. Зачем умножать сущности?
Сообщение отредактировал rupor - Вторник, 02.02.2010, 21:09 |
|
| |
drserj | Дата: Вторник, 02.02.2010, 21:09 | Сообщение # 51 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Quote (rupor) Единственная проблема - если закачался битый файл... ну это и у меня в скрипте отключено по-умолчанию, хотя, включить можно.
drSerj
|
|
| |
1_абрам | Дата: Среда, 03.02.2010, 13:01 | Сообщение # 52 |
Генералиссимус
Группа: Друзья
Сообщений: 1207
Статус: 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
Статус: Offline
| Quote (1_абрам) Огромное спасибо. Проверил для флибусты. Одно замечание, при аварийном завершении программы (cntrl+C) и повторном ее запуске начинается закачка с первого файла (f.173909-174319.zip.1). При этом, файлы f.173909-174319.zip и несколько следующих были успешно закачаны. Это так и должно быть? По идее должны закачиваться только новые файлы. Да нет, не должно... у меня вполне нормально отрабатывает... странно. Специально проверка на наличие файла идет. Вот если проверку раскомментил - да, будет перекачивать те, которые недокачал. Впрочем, можешь включить докачку - ключик глянь какой и впиши... хотя, я не уверен, гонял проверку зипа под юнихами, а под виндой - забыл Попробую...
drSerj
|
|
| |
1_абрам | Дата: Среда, 03.02.2010, 21:42 | Сообщение # 54 |
Генералиссимус
Группа: Друзья
Сообщений: 1207
Статус: Offline
| Виноват, посмотрел код нашел у себя ошибочку: Вместо $outpath = "C:\\tmp\\5\\book\\"; написал $outpath = "C:\\tmp\\5\\book";. Теперь все заработало как надо. Еще раз спасибо.
|
|
| |
drserj | Дата: Четверг, 04.02.2010, 09:13 | Сообщение # 55 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Поздравляю
drSerj
|
|
| |
1_абрам | Дата: Четверг, 04.02.2010, 13:44 | Сообщение # 56 |
Генералиссимус
Группа: Друзья
Сообщений: 1207
Статус: Offline
| Ура. В первый раз нашел настоящий баг. Вкладка "Группы". Выбираю созданную мной группу "Рекомендовано к прочтению". Жму кнопку "Показывать только скачанное" . При этом сначало появляется надпись "Ожидайте" (лучше было бы "Подождите немного", но это дело вкуса), после этого список не изменяется (хотя в нем есть книжки с пустым полем скачано). Это раз. Далее выбираю книжку и жму в нижней (информационной панеле) на автора. Появляется сообщение "You have an error SQL syntax .... near 'Group BY avtorid' at line 3". Это два. Если еще раз нажать кнопку "Показывать только скачанное" и повторить описанное выше - то все работает нормально.
|
|
| |
drserj | Дата: Четверг, 04.02.2010, 19:53 | Сообщение # 57 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Quote (1_абрам) Ура. В первый раз нашел настоящий баг. а баг ли ? Quote (1_абрам) Вкладка "Группы". Выбираю созданную мной группу "Рекомендовано к прочтению". Жму кнопку "Показывать только скачанное" . При этом сначало появляется надпись "Ожидайте" (лучше было бы "Подождите немного", но это дело вкуса), после этого список не изменяется (хотя в нем есть книжки с пустым полем скачано). Это раз. Ну, могу утешить, у меня тоже не убирает... Вот пытаюсь вспомнить, а оно там вообще должно ли убираться... Вроде, это только для 3 первых закладок... И при нажатии на кнопку - отрабатываются все 3 запроса (даже если активна другая вкладка, на которой этот режим неактивен) А вот то, что переход по ссылке на автора в режиме "Только скачанное" ошибку дает - да, баг... видимо, запрос не поправил для этого режима... Мдя... проблема... А что делать, если в скачанном такого автора нет ??? Т.е. автор виден во вкладках Группы, Новинки, Загрузки, но включен режим "Только скачанное" и в Авторах его не видно... Что, отключать режим ссылок на метках, когда установлен режим "Только скачанное" ???
drSerj
|
|
| |
1_абрам | Дата: Пятница, 05.02.2010, 09:33 | Сообщение # 58 |
Генералиссимус
Группа: Друзья
Сообщений: 1207
Статус: Offline
| Quote (drserj) Мдя... проблема... А что делать, если в скачанном такого автора нет ??? Т.е. автор виден во вкладках Группы, Новинки, Загрузки, но включен режим "Только скачанное" и в Авторах его не видно... Что, отключать режим ссылок на метках, когда установлен режим "Только скачанное" ??? Как всегда есть два решения (одно из них универсальное): 1) Объявляем этот баг фичей. 2) Показываем у автора пустой список книг. Кстати, я не уверен в полезности кнопки "Показывать только скачанное". У меня на всех вкладках стоит фильтр по полю скачано. *Скачна = пусто", Когда нужно ставлю галочку - получаю список скачанных книг.
|
|
| |
drserj | Дата: Пятница, 05.02.2010, 12:42 | Сообщение # 59 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Quote (1_абрам) 1) Объявляем этот баг фичей. не, это пока баг, коль ошибка выскакивает. Quote (1_абрам) 2) Показываем у автора пустой список книг. Самого автора нет в списке. Поэтому увы. Quote (1_абрам) Кстати, я не уверен в полезности кнопки "Показывать только скачанное". У меня на всех вкладках стоит фильтр по полю скачано. *Скачна = пусто", Когда нужно ставлю галочку - получаю список скачанных книг. Я тоже, но народ сильно просил, я добавил. Вижу несколько вариантов: 1. Делать ссылки на автора и жанр неактивными в режиме "Только скачано" 2. Выводить сообщение, если автора со скачанными книгами нет. 3. (фиговое) переключать автоматом в режим полного просмотра...
drSerj
|
|
| |
1_абрам | Дата: Пятница, 05.02.2010, 13:01 | Сообщение # 60 |
Генералиссимус
Группа: Друзья
Сообщений: 1207
Статус: Offline
| 1 - наверно легче сделать, 2 - конечно оптимально. Еще одно замечание. Сейчас есть возможность отслеживать скачана книжка или нет, т.е. содержится ли она в папке определяемой "Размещение скачиваемых файлов библиотеки" . Хотелось бы иметь аналогичную информацию о том содержится книжка в архивах ("Путь к архивам локальной коллекции"). Ну и м.б. возможность устранения дублирования книжек в архивах и в скачанных книжках.
|
|
| |