Плагин "Auto Switch"

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

Moderators: Korney San, marcipan

Goryna
Posts: 5
Joined: 08 May 2008, 13:29 Thu
Contact:

Post by Goryna »

Вай такой баг во 2 ветке обнаружился:
Вынужденно остановил закачку и перезагрузил комп. Запустил DM для продолжения закачки, а закачиваемый файл исчез в окне "Очередь закачек"
User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Post by Korney San »

Goryna wrote:Вай такой баг во 2 ветке обнаружился:
Вынужденно остановил закачку и перезагрузил комп. Запустил DM для продолжения закачки, а закачиваемый файл исчез в окне "Очередь закачек"
Скорее это не баг, а особенность работы AS версии 0.2.
Что значит "вынужденно остановил"?

Поясню сам механизм: AS 0.2 захватывает ТОЛЬКО заново добавленные закачки, а также закачки на паузе и с ошибкой (если установлена соответствующая опция). В случае же вопроса "Есть недокачанные закачки. Продолжить?" и положительного ответа DM сразу выставляет закачке статус "Закачка", из-за чего она проходит "мимо" плагина.
Кроме этого, при запуске плагина очередь очищается и выстраивается заново (предполагая, что активных закачек нет).
Лечится элементарным способом: закачка ставится на паузу, а в окне настроек плагина нажимается кнопка "Сейчас" (галка "На паузе" должна быть включена).

P.S. В связи с празднованием юбилея было не до форума, а тем более до программирования. :)
С другой стороны, сейчас обкатывается идея (правда, пока неудачно), которая будет включена в следующую версию.
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
x2088
Гуру
Posts: 556
Joined: 26 Jul 2007, 19:28 Thu
Contact:

Post by x2088 »

EKA wrote:Иногда приходиться закачивать инфу с "хитрого" сервера, который сообщает о поддержке докачки, но в случае обрыва связи или приостановке закачки далее докачку не поддерживает.
1) Так в случае обрыва связи (кот. у меня случаюся регулярно), поле "докачка" меняет своё состояние из "поддерживается" в "не поддерживается" и программа начинает посылать запросы "посылка запроса №2" непрерывно очень долгое время (примерно часа 4), после чего выдаётся ошибка закачки и начинается закачка следующего файла. И если меня нет рядом с компом, чтобы в ручную переключить закачку, теряется колосальное кол-во времени. Другие менеджеры закачки в подобной ситуации сразу же перезапускают закачку заново.
2) Если же поставить подобную закачку на паузу, а затем запустить её в группе, то когда доходит очередь до неё-выдается запрос "сервер ранее поддерживал докачку, а сейчас нет, продолжить закачку с потерей ранее зачачанных данных?" (примерный текст), и по умолчанию предлагается ответ "нет", а чтобы нажать "да" нужно обязательно находиться рядом с компом, что опять же, не всегда получается. Хорошо бы сделать настраиваемым по умолчанию вариант выбора"нет" или "да".
3)Явная ошибка-когда выбираешь "да" при запросе "продолжить ли закачку с потерей ранее закачанных данных?" закачка начинается нормально, а DM выдаёт сообщение "все закачки завершены".
У меня WIN XP SP2, DM самой последней версии.
Думаю, можно доработать плагин под эти цели... третье скорее к разработчикам. Сам с таким не сталкивался.
User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Post by Korney San »

x2088 wrote:
EKA wrote: 1)...поле "докачка" меняет своё состояние из "поддерживается" в "не поддерживается" ... после чего выдаётся ошибка закачки и начинается закачка следующего файла. ...
Что должен делать плагин: контролировать смену поля "докачка" (и реагировать каким-либо образом) или пытаться включать "ошибочные" закачки?
x2088 wrote:
EKA wrote: 2) ...когда доходит очередь до неё-выдается запрос ... и по умолчанию предлагается ответ "нет", а чтобы нажать "да" нужно обязательно находиться рядом с компом, что опять же, не всегда получается. ...
А здесь необходимо программно нажимать нужную кнопку? :?
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
x2088
Гуру
Posts: 556
Joined: 26 Jul 2007, 19:28 Thu
Contact:

Post by x2088 »

Думаю, надо предоставить выбор в обоих случаях - сделать переключатели.

1а) Не трогать эту закачку вообще - ставить на паузу и не возвращаться к ней, а пользователь сам потом разберётся;
1б) Сохранить, копию файла *.DMF, если возможно и попытаться продолжить закачку. Думаю, алгоритм выбора места сохранения сделать таким: <достаточно_ли_места> ? <Возле_самого_DMF-файла> : <R:\Downloads> - где R - самый свободный др. диск, если на нём хватает места. Если файл сохранить не удалось, то - вариант "1а".

2а) Перехватывать окно и жать "ДА"; - бъём больно по башке антивирь и фаирволл и жмём <<"Запомнить">>.
2б) Нифига не делаем или, если на то пошло дело, то так же жмём - "НЕТ".
User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Post by Korney San »

x2088 wrote:Думаю, надо предоставить выбор в обоих случаях - сделать переключатели.

1а) Не трогать эту закачку вообще - ставить на паузу и не возвращаться к ней, а пользователь сам потом разберётся;
Вспоминаются мне ещё случаи, когда DM показывает "есть докачка", а злобный сервер при каждом "передёргивании" начинает отдавать заново...
x2088 wrote: 1б) Сохранить, копию файла *.DMF, если возможно и попытаться продолжить закачку. Думаю, алгоритм выбора места сохранения сделать таким: <достаточно_ли_места> ? <Возле_самого_DMF-файла> : <R:\Downloads> - где R - самый свободный др. диск, если на нём хватает места.
Бить по голове придётся уже здесь...
Вопрос на засыпку: качает себе человек 4,7 Гб образ с опцией "выделять место целиком", и тут опа! Надо копировать! А система с логического раздела на тот же логический раздел копирует со скоростью примерно 15-20 Мб/сек... Что плагин будет делать 4 минуты? А если это Blu-ray? :?
x2088 wrote: Если файл сохранить не удалось, то - вариант "1а".
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
x2088
Гуру
Posts: 556
Joined: 26 Jul 2007, 19:28 Thu
Contact:

Post by x2088 »

Ну это жирно уже, для копирования надо просто поручать это самой винде, тока она же должна быть в курсе "шо от неё хотят". А для определения наиболее подходящего диска Свободно / Скорость_доступа - получается надо или иметь отдельный плагин, который недокачанные куски удалять так же должен, или забивать на слишком большие файлы...

У не докопированных файлов есть соответствующий атрибут - по нему можно следить "уже можно начинать эту закачку или - нет".
SHiKiGAMY
Posts: 4
Joined: 15 Jun 2008, 7:37 Sun
Contact:

Post by SHiKiGAMY »

Есть предложение, даже просьба по расширению функционала плагина, хотя я это вижу уже как отдельный плагин на основе AutoSwitch.
Ситуация такая: По тарифу качать файлы я не должен :lol: , но на самом деле до 10мб качаются на скорости 28-30кбайт\сек, далее скорость падает вплоть до ноля и чтобы она восстановилась нужно переждать 5-10минут. Как я вижу реализацию плагина: Приостановить ранее закачиваемые{реализовано в DM}, если скорость упала до n* кбайт\сек{реализовано в AS},проследив за n** секунд скорость{реализовано в AS}, спустя n*** минут{нереализовано} запустить ранее закачиваемые{реализовано в DM}.
n*** - 3,5,10,20 минут, но хватит и 5,10.
Почему "Старт ренее закачиваемых"? Просто когда в очереди стоит 20-30-100 закачек, проще все их запустить сразу(кол-во одновременных при этом равно 1), а дальше управлять всеми сразу одной кнопкой. То что реализовано в этом плагине мне немного не понятно, зачем если скорость упала, перезапускать закачку или переходить к следущей? Во всяком случае для меня это бесполезно,т.к. скорость не восстанавливается...По плагину думаю реализовать несложно, но очень нужно :roll: Прошу понять и буду ждать ответа :wink:
x2088
Гуру
Posts: 556
Joined: 26 Jul 2007, 19:28 Thu
Contact:

Post by x2088 »

А как на счёт старой версии - она стала отдельной веткой...
SHiKiGAMY
Posts: 4
Joined: 15 Jun 2008, 7:37 Sun
Contact:

Post by SHiKiGAMY »

Я ее тестировал, она не обращая внимание на опцию "пауза между закачками" начинает качать следущий файл, причем максимум 60сек можно выставить, тем более старая версия слишком намудрена, все гораздо проще. Возможно эти функции можно реализовать через скрипт к плагину DM Script Host, но я пока не знаю программирование.
User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Post by Korney San »

SHiKiGAMY wrote:То что реализовано в этом плагине мне немного не понятно, зачем если скорость упала, перезапускать закачку или переходить к следущей? Во всяком случае для меня это бесполезно,т.к. скорость не восстанавливается...
У меня как раз восстанавливается (сразу), поэтому плагин работает так, как работает. :) Переход к следующей закачке также восстанавливает скорость скачивания (по крайней мере у меня, новая закачка = новый типа download ticket ;) ).
А для тех, у кого восстанавливается не сразу (или переход на следующую ничего не выигрывает), была сделана опция "Пауза между закачками".
SHiKiGAMY wrote: По плагину думаю реализовать несложно, но очень нужно :roll: Прошу понять и буду ждать ответа :wink:
Да оно в принципе реализвано, только увеличить время ожидания до нужного. И проверить, чтобы работало.
SHiKiGAMY wrote: Я ее тестировал, она не обращая внимание на опцию "пауза между закачками" начинает качать следущий файл, причем максимум 60сек можно выставить, тем более старая версия слишком намудрена, все гораздо проще.
Какую версию брал? 0.2.0.4? В ней эта опция должна работать... :?
SHiKiGAMY wrote: Возможно эти функции можно реализовать через скрипт к плагину DM Script Host, но я пока не знаю программирование.
Возможно, пропадёт необходимость во многих плагинах... :)
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
SHiKiGAMY
Posts: 4
Joined: 15 Jun 2008, 7:37 Sun
Contact:

Post by SHiKiGAMY »

Да оно в принципе реализвано, только увеличить время ожидания до нужного. И проверить, чтобы работало.
Только лучше на основе 0.3.0.2 , а то старая версия очень неудобна собственной очередью закачек...
Какую версию брал? 0.2.0.4? В ней эта опция должна работать...
Да, проверял эту версию, независимо от того сколько секунд выставлено, плагин ждёт максимум 5 сек и начинает снова пытаться качать...
User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Post by Korney San »

SHiKiGAMY wrote:Только лучше на основе 0.3.0.2 , а то старая версия очень неудобна собственной очередью закачек...
Хех, извини - без построения собственной очереди закачек реализовать любые задержки между паузой и возобновлением закачки невозможно в принципе, потому что плагин должен помнить, что и когда он останавливал, что и когда ему нобходимо запустить.
Единственно, в новой версии управления очередью практически не будет, да и не очередь это будет по сути, а контрольный список-дополнение к DM. :)
SHiKiGAMY wrote:
Какую версию брал? 0.2.0.4? В ней эта опция должна работать...
Да, проверял эту версию, независимо от того сколько секунд выставлено, плагин ждёт максимум 5 сек и начинает снова пытаться качать...
:? Видимо не починил...
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
SHiKiGAMY
Posts: 4
Joined: 15 Jun 2008, 7:37 Sun
Contact:

Post by SHiKiGAMY »

Korney San wrote: Хех, извини - без построения собственной очереди закачек реализовать любые задержки между паузой и возобновлением закачки невозможно в принципе, потому что плагин должен помнить, что и когда он останавливал, что и когда ему нобходимо запустить.
Я писал выше, после того как скорость упала плагин вызывает функцию самого ДМ "приостановить ранее закачиваемые"(Shift+Ctrl+P), далее ждет заданное время, после снова вызывает туже функцию ДМ, которая уже называется "старт ранее закачиваемых"(Shift+Ctrl+P), это нереализуемо?
Если реализуемо, может всетаки легче наваять скрипт к DM Script Host? А параметры изменять уже в самом скрипте.
User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Post by Korney San »

SHiKiGAMY wrote:Я писал выше, после того как скорость упала плагин вызывает функцию самого ДМ "приостановить ранее закачиваемые"(Shift+Ctrl+P), далее ждет заданное время, после снова вызывает туже функцию ДМ, которая уже называется "старт ранее закачиваемых"(Shift+Ctrl+P), это нереализуемо?
НЕреализуемо - в текущем API плагинов нет доступа к этой функции.
Даже плагин "Расширенный планировщик" и тот не умеет. ;)
А заморачиваться с WinAPI и нажимать пункт меню программно пока нет желания...
SHiKiGAMY wrote: Если реализуемо, может всетаки легче наваять скрипт к DM Script Host? А параметры изменять уже в самом скрипте.
Может быть. Однако я DM Script Host ещё не пользовал и не разбирался...
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
Post Reply