1) операционная система Windows
2)версия Python и версия библиотек мне неизвестны
Описание. Сам скрипт запускается и работает но хочу добавить еще одно условие для него. Скрипт работает в программе (TRASSIR) в которой есть функция примитивного создания простых правил (скриптов), при помощи этой функции я и получаю код данного скрипта.
Действия которые выполняет скрипт:
Видеокамера "s1" дает сигнал на пересечение границы
-На мониторе 1 открывается окно с камерой "s1" на весь экран
-"Ожидание" 10секунд
-После на мониторе 1 открывается окно ("Шаблон") со всеми видеокамерами
Вот здесь мне надо дописать следующее условие:
Если в течении этих же 10 секунд, когда происходит "Ожидание", появляется вновь сигнал с камеры "s1" на пересечение границы, не запускать скрипт заново, а продлить "Ожидание" например еще на 10 секунд и т.д.. И уже если не будет поступать новых сигналов с камеры "s1" за этот период времени (первые 10сек+последующие добавленные), тогда перейти к последнему пункту.
2)версия Python и версия библиотек мне неизвестны
Описание. Сам скрипт запускается и работает но хочу добавить еще одно условие для него. Скрипт работает в программе (TRASSIR) в которой есть функция примитивного создания простых правил (скриптов), при помощи этой функции я и получаю код данного скрипта.
Действия которые выполняет скрипт:
Видеокамера "s1" дает сигнал на пересечение границы
-На мониторе 1 открывается окно с камерой "s1" на весь экран
-"Ожидание" 10секунд
-После на мониторе 1 открывается окно ("Шаблон") со всеми видеокамерами
Вот здесь мне надо дописать следующее условие:
Если в течении этих же 10 секунд, когда происходит "Ожидание", появляется вновь сигнал с камеры "s1" на пересечение границы, не запускать скрипт заново, а продлить "Ожидание" например еще на 10 секунд и т.д.. И уже если не будет поступать новых сигналов с камеры "s1" за этот период времени (первые 10сек+последующие добавленные), тогда перейти к последнему пункту.
Python:
# Automatically generated by RuleWizard
lock = False
class TaskLocker:
def __init__(self, event):
global lock
if lock:
self.have_lock = False
return
else:
self.have_lock = True
lock = True
start(self, event)
def __del__(self):
if self.have_lock:
global lock
lock = not 1
def action2(lock):
# ACTION_2
object("Интерфейс оператора Клиент").show_template("Шаблон",1)
def action1_1(lock):
action2(lock)
def action1(lock):
# ACTION_1
timeout(10 * 1000, lambda: action1_1(lock))
def action0(lock):
# ACTION_0
object("Интерфейс оператора Клиент").show_channel("s1",1)
action1(lock)
def start(lock, event):
host.stats()["run_count"] += 1
# ACTIONS
action0(lock)
def aquire_lock(event):
TaskLocker(event)
# ACTIVATION
activate_on_events("CrossLine Detected", "s1", aquire_lock)