# Обработчики и сортировка

В сетке Post-processors диалогового окна Config/Externals настраиваются внешние программы-обработчики и сортировка принятых файлов по каталогам.

## Обработчики

Обработчики - это внешние приложения, запускаемые системой Аргус по приходу определенных файлов. Обработчик запускается после завершения сеанса связи. Примерами обработчиков являются файлэхопроцессоры, тоссеры, трэкеры, и.т.д. Чтобы настроить Аргус на запуск определенного обработчика для определенной группы фалов, необходимо перечислить (через пробел) список масок этой группы в поле Mask List, а командную строку обработчика - в поле String to Execute.

Специальная маска `%ARCMAIL%` идентична списку масок ArcMail (`*.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa?`)

Mask list | String to execute | Комментарий
*.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa? | c:\fido\lanius\squish.exe in out squash | Запустить эхопроцессор Squish по приходу почтовых пакетов
%ARCMAIL% | c:\fido\lanius\squish.exe in out squash | Запустить эхопроцессор Squish по приходу почтовых пакетов
*.tic | c:\fido\fileecho\allfix.exe file -tossbad | Запустить файлэхопроцессор Allfix по приходу TIC файлов

Символ '?' перед командой/именем файла в строке String to Execute сообщает о том, что процесс должен быть запущен в скрытом режиме, '!' - в нормальном режиме, а ‹??› - в DETACHED_MODE (без использования консоли). В отличии от ‹?›, флаг ‹??› можно использовать только для Win32-консольных приложений. Попытка запуска DETACHED Win3.1 или DOS-приложения вызовет ошибку. По умолчанию процессы запускаются в минимизированном окне.

Процессы могут быть запущены с определенным уровнем приоритета:

    <
| запустить с низким приоритетом (IDLE_PRIORITY_CLASS)
    +
| запустить с высоким приоритетом (HIGH_PRIORITY_CLASS)
    *
| запустить с критическим приоритетом (REALTIME_PRIORITY_CLASS)
    >
| '>' - вместо запуска приложения установить файл-флаг с именем, следующим за '>'.

По умолчанию процессы запускаются с нормальным приоритетом (NORMAL_PRIORITY_CLASS).

Возможен также запуск внешних приложения по окончании сеанса с определенными узлами - в этом случае вместо имен файлов или файловах масок необходимо перечислить (через пробел) адреса или маски адресов

Mask list | String to execute
    2:469/38
    playwav c:\wavs\complete38.wav
    2:*/0
    playwav c:\wavs\complete_nc.wav
    1:2/3 4:5/6.*
    someapp.exe /some:parameter

См. также Конфигурация внешних приложений

## Сортировка

Входящие файлы можно сортировать по каталогам, в зависимости от первичного (основного) адреса удаленной системы, с которой производился сеанс связи, а также в соответствии с файловой маской (диалог Config/Externals/Postprocessors). Такой каталог называется входящим файл-боксом. В одной строке "Mask List" можно указать несколько масок файлов и/или адресов, разделенных пробелами. Символ "амперсант" (&), предшествующий строке в поле "String to execute" указывает на то, что эта строка определяет инбаунд для файлов, которые соответствуют маскам, указанным в поле Mask List.

Иными словами, в поле Mask List можно указывать не только маски файлов, но и маски адресов. В поле "String to execute" можно переопределять входящий каталог для файлов, подходящих под маски поля Mask List. Для переопределения inbound-каталога ему должен предшествовать символ амперсант ('&').

Пример переопределения инбаунда для файлов, принятых от пойнтов узла 2:469/59,

эти файлы будут попадать в каталог INPNT

Mask list | String to execute
    2:469/59.*
    &INPNT

Фильтрация входящих файлов (и запуск внешних приложений) основанная на адресе удаленной стороны, если в строке Mask List указана маска адресов, происходит только при парольных сеансах связи.

Если путь файл-бокса указан не полностью (как в данном примере) то такой файл-бокс будет расположен в Home Directory. Тут действует правило сокращения, принятое при указании путей в сетке Special Directories диалогового окна Config/Paths.

Если во входящем файл-боксе уже находится файл с таким же именем, как и у вновь принятого файла, этот вновь принятый файл будет храниться в Temporary inbound тех пор, пока старый не будет удален или перенесен вследствие обработки другой программой. В некоторых случаях требуется обеспечить такой способ работы, чтобы вновь принятые файлы перезаписывались поверх уже находящихся, а не хранились в Temporary Inbound. В этом случае, для определения такого файл-бокса, после символа амперсант используется символ "`^`", т.е. `&`^`INPNT`.

Путь файл-бокса может содержать макросы, представляющие адрес уделенной системы.

    %ZONE
| зона, десятичная (1-4 десятичные цифры)
    %NET
| сеть, десятичная (1-5 десятичных цифр)
    %NODE
| узел, десятичный (1-5 десятичных цифр)
    %POINT
| пойнт, десятичный (1-5 десятичных цифр)
    %HZONE
| зона, шестнадцатеричная (3 шестнадцатеричные цифры)
    %HNET
| сеть, шестнадцатеричная (4 шестнадцатеричные цифры)
    %HNODE
| узел, шестнадцатеричный (4 шестнадцатеричные цифры)
    %HPOINT
| пойнт, шестнадцатеричный (4 шестнадцатеричные цифры)
    %XZONE
| зона, 32-чная (2 цифры в radix-32)
    %XNET
| сеть, 32-чная (3 цифры в radix-32)
    %XNODE
| узел, 32-чный (3 цифры в radix-32)
    %XPOINT
| пойнт, 32-чнай (2 цифры в radix-32)

Кроме адреса удаленной системы, макросы могут представлять текущую дату и местное время.

    %YEAR
| Год (4 цифры)
    %MONTHN
| Месяц (2 цифры)
    %MONTHA
| Месяц (3 буквы)
    %MONTHS
| Месяц (2 буквы)
    %DAY
| День месяца (2 цифры)
    %DOWN
| День недели (1 цифра)
    %DOWA
| День недели (3 буквы)
    %DOWS
| День недели (2 буквы)
    %HOUR
| Час (2 цифры)
    %MINUTE
| Минута (2 цифры)
    %SECOND
| Секунда (2 цифры)