Skip to content

Commit

Permalink
Update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
NC22 committed Jan 12, 2021
1 parent d5c5553 commit 78d1742
Showing 1 changed file with 29 additions and 24 deletions.
53 changes: 29 additions & 24 deletions lib/recorder/filters/README.md
Expand Up @@ -9,19 +9,19 @@

использовать шаблон названия - KellyRecorderFilter[Название_класса]

`
```
KellyRecorderFilterExample = new Object();
`
```

[Название_класса].manifest - массив с параметрами описания, используется для статистики и проверки совместимости фильтра с использованием функции "Загрузить доп. документы"

* host - массив строк или строка - список хостов, актуальных для фильтра
* detectionLvl - возможности фильтрации 'imageAny' - общаяя группа для превью и оригиналов, 'imagePreview' - превью, 'imageOriginal' - оригинал, 'imageByDocument' - оригинал > взятый из документа превью


`
```
KellyRecorderFilterExample.manifest = {host : 'example.com', detectionLvl : ['imageAny', 'imagePreview', 'imageOriginal', 'imageByDocument']};
`
```

Метод __addItemByDriver__ вызывается перед обработкой DOM элемента el страницы методом поумолчанию (kellyPageWatchDog.parseItem).

Expand All @@ -35,7 +35,7 @@

_предполагаемая ссылка на изображение_ определяется исходя из нескольких условий - уровня доверия конкретному тегу (IMG | SOURCE | DIV) в зависимости от его названия \ атрибуту тега \ возможности предположить расширение файлы исходя из строки ссылки. Это позволяет отсеивать строки которые точно не могут являтся ссылками (общий метод валидации см. kellyPageWatchDog.addSingleSrc)

`
```
KellyRecorderFilterExample.addItemByDriver = function(handler, el, item) {
Expand All @@ -51,15 +51,17 @@ KellyRecorderFilterExample.addItemByDriver = function(handler, el, item) {
}
}
`
```

Метод __parseImagesDocByDriver__ вызывается при загрузке дочернего документа (item.relatedDoc). Переменная _thread_ содержит результат выполнения запроса к документу

Запрос к дочернему документу (поумолчанию - method : 'GET', responseType : 'text') опционально конфигурируется через доп. переменные в строке запроса после разделителя ##FETCH_RULES## на этапе заполнения массива картинок методом __addItemByDriver__

Например :

```
item.relatedDoc = http://example.com/original-image-page?get=1&get2=234##FETCH_RULES##method=POST&responseType=json&contentType=application/x-www-form-urlencoded&xRequestedWith=XMLHttpRequest&mark_comment=1
```

Выполнит POST запрос с параметрами GET - {get : 1, get2 : 234}, responseType = json. Заголовки {contentType : application/x-www-form-urlencoded, x-requested-with : XMLHttpRequest}

Expand All @@ -70,7 +72,7 @@ item.relatedDoc = http://example.com/original-image-page?get=1&get2=234##FETCH_R

* thread.response - тело ответа | документ | медиа данные | json - в зависимости запроса от thread.request.contentType

`
```
KellyRecorderFilterExample.parseImagesDocByDriver = function(handler, thread) {
Expand All @@ -82,59 +84,62 @@ KellyRecorderFilterExample.parseImagesDocByDriver = function(handler, thread) {
}
}
`
```

Метод __onInitDocLoader__ в процессе доработки / могут быть изменения, не рекомендуется к использованию
Выполняется перед запуском загрузчика дополнительных документов
Позволяет конфигурировать загрузчик перед запуском. Если вернуть false - остановит запуск

Можно менять конфигурацию загрузчика через метод docLoader.parser.updateCfg
```
`docLoader.parser.updateCfg(threadDefaults = {
KellyRecorderFilterExample.onInitDocLoader = function(docLoader, hostList) {}
KellyRecorderFilterExample.onInitLocation = function(handler, data) {}
```

Можно менять конфигурацию загрузчика _docLoader_ через метод __docLoader.parser.updateCfg__

```
docLoader.parser.updateCfg(threadDefaults = {
pauseEvery : '50',
pauseTimer : '1.2,1.8,2,2.4,2.8',
timeout : '5',
timeoutOnEnd : '0.8',
maxThreads : '1',
})
`

`

KellyRecorderFilterExample.onInitDocLoader = function(docLoader, hostList) {}

KellyRecorderFilterExample.onInitLocation = function(handler, data) {}
`
```

Метод onInitLocation в процессе доработки / могут быть изменения, не рекомендуется к использованию
Выполняется после инициализации парсера страницы - data.url - адресная строка вкладки / data.host - аналог window.location.hostname
Позволяет конфигурировать парсер перед запуском

Пока использовать нет необходимости т.к. параметров для изменения нет.

`
```
KellyRecorderFilterExample.onInitLocation = function(handler, data) {}
`
```

Метод onInitOptions в процессе доработки / могут быть изменения, не рекомендуется к использованию
Инициализация настроек для вкладки "Настройки"

Пока не используется сущ. фильтрами. описание будет позже

`
```
KellyRecorderFilterExample.onInitOptions = function(options, coptions) {}
`
```

Запуск фильтр и доп. валидаторы через общий список

`
```
KellyPageWatchdog.validators.push({url : 'deviantart', patterns : [['images-wixmp', 'imageAny']]}); // опционально фильтр по соответствию строки (аналогичны файлу _validators.js)
KellyPageWatchdog.filters.push(KellyRecorderFilterExample); // активируем фильтр, чтобы все методы выполнялись
`
```

0 comments on commit 78d1742

Please sign in to comment.