Импорт внешних списков номеров в систему Overseer
Для импорта внешних списков номеров в систему Overseer была разработана функция bulk_pass_update_group. Данную функцию следует выполнять в командной строке Windows (открыть через run, cmd) либо командной строкой программы cron. Наиболее частое применение функции - это для обновления белого/черного списка (группы) в системе Parking.
Функция принимает несколько входных параметров, которые указываются в скобках в следующем порядке: адрес текстового файла на диске, актуальный идентификатор группы, неактуальный идентификатор группы, разделитель колонок в файле, номер колонки, которая содержит номера, а также кодировку текстового файла. Параметр "актуальный идентификатор группы" - это имя группы, в которой будет находится обновленный список номеров. Параметр "неактуальный идентификатор группы" - это название группы, в которую будут перемещены записи о ТС из группы, которую обновляют. Наличие "неактуальной" группы необходимо для сохранения записей о ТС, которые после обновления не входят больше в актуальную группу.
Система рассчитана на использование картотеки системы в режиме "один владелец - одна машина". Имена владельцев, импортированных таким образом будут фиктивными, и будут создаваться на основе номеров машин. Из файла, который импортируется, будет использована только информация о номерах машин, остальная информация будет проигнорирована. В случае, если требуется импортировать не только списки номеров, но и дополнительную информацию о номере - следует обратится в службу поддержки.
Пример использования функции для импорта списка доступа
Перед применением функции следует выполнить подготовительные этапы в системе:
- Создать группу "whitelist" с политикой "пропускать".
- Создать группу "greylist" с политикой "запрашивать разрешение".
- Сформировать файл со списком например формата .сsv вида "АА8888АА;<возможная дополнительная информация>;<возможная дополнительная информация>;", поместить его по адресу C:\import\ с названием import.csv .
- Определиться с местом хранения вспомогательных файлов в ходе выполнения обновления ( в примере они будут хранится по адресу C:\import\done\ ).
- Определиться с расположением файла лога ( в примере данный файл будет хранится по адресу C:\import\log\ с именем import.log).
После выполнения подготовительных действий следует скопировать и выполнить в командной строке следующий текст:
@echo off
SetLocal EnableExtensions EnableDelayedExpansion
for /f "tokens=4*" %%a in ('sc qc postgresql-9.0 ^| findstr /n .* ^| findstr ^7:') do set PGBIN=%%~dpa
IF not exist %PGBIN%psql.exe (
echo [FATAL] PostgreSQL 9.0 doesn`t exist : %PGBIN%
exit
)
SET PGBIN=%PGBIN%psql.exe
SET DT=%date:~6,4%%date:~3,2%%date:~0,2%%time:~0,2%%time:~3,2%
echo %DT%:: >> c:\import\log\import.log
IF not exist c:\import\import.csv (
echo [FATAL] Import file not found
exit
)
%PGBIN% -q -t -c "select import.bulk_pass_update_group('c:/import/import.csv','whitelist','greylist',';',1,'WIN1251');" autocode autocode >> c:\import\log\import.log 2>&1
move c:\import\import.csv c:\import\done\import-%DT%.csv
Пример использования функции для импорта розыскного списка
Перед применением функции следует выполнить подготовительные этапы в системе:
- Создать группу "wanted" с флагом "розыска" и обозначить ее красным цветом.
- Создать группу "junk" без флага розыска.
- Сформировать файл со списком например формата .сsv вида "АА8888АА;<возможная дополнительная информация>;", поместить его по адресу C:\import\ с названием import.csv .
- Определиться с местом хранения вспомогательных файлов в ходе выполнения обновления ( в примере они будут хранится по адресу C:\import\done\ ).
- Определиться с расположением файла лога ( в примере данный файл будет хранится по адресу C:\import\log\ с именем import.log).
После выполнения подготовительных действий следует скопировать и выполнить в командной строке следующий текст:
@echo off
SetLocal EnableExtensions EnableDelayedExpansion
for /f "tokens=4*" %%a in ('sc qc postgresql-9.0 ^| findstr /n .* ^| findstr ^7:') do set PGBIN=%%~dpa
IF not exist %PGBIN%psql.exe (
echo [FATAL] PostgreSQL 9.0 doesn`t exist : %PGBIN%
exit
)
SET PGBIN=%PGBIN%psql.exe
SET DT=%date:~6,4%%date:~3,2%%date:~0,2%%time:~0,2%%time:~3,2%
echo %DT%:: >> c:\import\log\import.log
IF not exist c:\import\import.csv (
echo [FATAL] Import file not found
exit
)
%PGBIN% -q -t -c "select import.bulk_pass_update_group('c:/import/import.csv','wanted','junk',';',1,'WIN1251');" autocode autocode >> c:\import\log\import.log 2>&1
move c:\import\import.csv c:\import\done\import-%DT%.csv