Есть несколько идей по расширению API

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

Moderators: Korney San, marcipan

Post Reply
IvanC
Posts: 3
Joined: 16 Oct 2006, 10:25 Mon

Есть несколько идей по расширению API

Post by IvanC »

Есть несколько идей по расширению API


Для DoAction

AddingURL
Новый тэг в параметре:
<request>...</request>
или
<rawrequest>...</rawrequest>
При наличие этого тэга все остальные связанные с запросом DM по идеи должен игнорировать, а всю информацию брать из запроса (собственно ее брать то и не надо, просто послать запрос на сервер).
Здесь надо отметить, что если используется PROXY сервер DM должен в запросе прописать полный URL и параметр Host вставить, ели его не было. Может еще что-то, я точно не знаю.
Пример:
<request>GET \files\1.zip HTTP/1.0
Host: dl.com
...
...
</request>

GetDownloadDir (без параметра) - возвращает каталог загрузки по умолчанию

GetDMParam (где параметр имя ключа в реестре) - для получения его значения
Для того чтобы читать значения из "HKEY_CURRENT_USER\Software\2VG\Download Master"
В принципе можно и из плагина читать реестр, но вдруг разработчики решат изменить название фирмы например, или программы, или перенесут в раздел HKLN.

GetDMParamsPath (без параметра) - возвращает "HKEY_CURRENT_USER\Software\2VG\Download Master"
Альтернативный вариант.


Для EventRaised

dm_addingurl
Возникает когда DM пытается добавить новую закачку при этим в качестве параметра передается полное XML описание.
Работать должно как фильтр, т.е. плагин может внести изменение в это описание и вернуть его в обновленном виде.
Если в плагине отсутствует реакция на это событие, то он возвращает пустую строку – что будет означать ничего не изменять!
Если плагин вернет строку “canceled” это значит полное отменение добавление закачки (после получения этого ответа DM больше ничего не должен делать).
(Плагин который сам инициировал AddingURL пусть тоже получает это событие)

dm_clipbrdchange
Если DM контролирует изменение в буфере обмена, то почему бы не сделать это событие.
В параметре можно передавать новый текст.


Проблемка:
Мне показалось что plugin_stop вызывается только при остановке плагина, но если плагин включен, а пользователь вырубил DM то это событие не происходит =(
NotIdea
Posts: 1
Joined: 17 Oct 2006, 10:22 Tue
Location: Станция петушки
Contact:

умное зеркало

Post by NotIdea »

Возможно, это полный офф топик... Вот столкнулась с такой проблемой: ищу ссылки через прокси, найденное прокидываю товарищу-он качает, но каждый раз приходиться ссылки перебивать руками... можно ли соорудить такой плагин, чтоб он выбирал нужный текст(кусок ссылки с n-го символа по m-ный). Например, если моя сылка http://proxy.pr.oxy/www.www.downloadmaster.net/index.php, а закачать можно по ссылке http://pr.oxy.proxy/www.www.downloadmaster.net/index.php0012345. Т.е. чтоб можно было выделять префиксы и постфиксы, и если надо - заменять их :D(чтоб можно было добавить такое вот умное зеркальце ;) ). Я не одина такой проблемой страдаю, сделать такое не так уж и просто, пытались :) ... Подозреваю, что все это можно как-то сделать через менеджер сайтов, вот только как... ;) С нетерпением жду любого ответа :-*
Не верьте всему, что пишут, верьте всему, что не пишут ;)
IvanC
Posts: 3
Joined: 16 Oct 2006, 10:25 Mon

Re: умное зеркало

Post by IvanC »

NotIdea wrote:Возможно, это полный офф топик... Вот столкнулась с такой проблемой: ищу ссылки через прокси, найденное прокидываю товарищу-он качает, но каждый раз приходиться ссылки перебивать руками... можно ли соорудить такой плагин, чтоб он выбирал нужный текст(кусок ссылки с n-го символа по m-ный). Например, если моя сылка http://proxy.pr.oxy/www.www.downloadmaster.net/index.php, а закачать можно по ссылке http://pr.oxy.proxy/www.www.downloadmaster.net/index.php0012345. Т.е. чтоб можно было выделять префиксы и постфиксы, и если надо - заменять их :D(чтоб можно было добавить такое вот умное зеркальце ;) ). Я не одина такой проблемой страдаю, сделать такое не так уж и просто, пытались :) ... Подозреваю, что все это можно как-то сделать через менеджер сайтов, вот только как... ;) С нетерпением жду любого ответа :-*
это довольно легко сделать, особенно если будет реализовано dm_addingurl
IvanC
Posts: 3
Joined: 16 Oct 2006, 10:25 Mon

Post by IvanC »

Че форум жив то или нет?
User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Post by Korney San »

IvanC wrote:Че форум жив то или нет?
Форум вроде жив, а вот сайт, по-моему, нет... :(
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
User avatar
Lin
Бывалый
Posts: 18
Joined: 25 Feb 2006, 0:57 Sat

Post by Lin »

По DoAction.AddingURL
1. почему отсутствует параметр 'category' ?

2. Для чего нужны 'post' и 'start' ?

3. Как правильно использовать 'cookies' ?

4. При обычном запросе

Code: Select all

DoAction('AddingURL', '<url>http://www.westbyte.com/plugin</url> <hidden>1</hidden>')
- закачка добавляется и СТАРТУЕТ! (DM 5.2.1.1055)
Правильно ли это?? как правильно добавить закачку без старта??

5. Зачем нужен 'GetCategoriesList' если нету 'GetCategoriesPathByID' ??

6. Согласен с IvanC - 'GetDownloadDir' необходим..
User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Post by Korney San »

Lin wrote:По DoAction.AddingURL
2. Для чего нужны 'post' и 'start' ?
...

4. При обычном запросе

Code: Select all

DoAction('AddingURL', '<url>http://www.westbyte.com/plugin</url> <hidden>1</hidden>')
- закачка добавляется и СТАРТУЕТ! (DM 5.2.1.1055)
Правильно ли это?? как правильно добавить закачку без старта??
start используется так:

Code: Select all

DoAction('AddingURL', '<url>http://www.westbyte.com/plugin</url> <hidden>1</hidden> <start>0</start>')
закачка ДОБАВЛЯЕТСЯ, но НЕ стартует. :)
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
Post Reply