Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Основные функции

Выключение опроса монитора при старте системы Trassir OS.

Установка

  • Перейти в автоматизацию, нажать «Загрузить пример» и выбрать «Из файла», указав путь к скрипту.
  • Снять галочку «Включить скрипт» и нажать сохранить.
  • Запускается, как только установился на сервер и была нажата кнопка "сохранить запустить"
  • Скрипт устанавливает правило, которое не снимает настройки монитора с него, а ставит стандартные.


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


Раскрыть
titlecode

# -*- coding: utf-8 -*-
# set_settings_parameter
#
# Adding/changing 'Parameter key'='Parameter value' in 'Settings file'
# Parameter key/value can't be empty
#
# Script is available only for TrassirOS
#
# Version: 1.1
# Author: A.A.Trubilin, DSSL
# E-mail: a.trubilin@dssl.ru
"""
<parameters>
<company>AATrubilin</company>
<title>set_settings_parameter</title>
<version>1.1</version>
</parameters>
"""
import re
import os
import host


SETTINGS_FILE = "/home/trassir/nvr-system-settings.ini"
PARAMETR_KEY = "skip_edit_check"
PARAMETR_VALUE = "1"


class OK(Exception):
pass


if os.name == "nt":
# Check if script runs on TrassirOS
raise OSError("This script is unavailable for WinOS")


def set_settings(settings_file, key, value):
"""Set new settings or replace old

Args:
settings_file (str) : Setting file full path
key (str) : Setting key
value (str) : Setting value

Raised:
NameError if file not found
ValueError if parameter or value not setted
"""
if not os.path.isfile(settings_file):
# Check if file exists
raise NameError("File {} not found".format(settings_file))

if not key:
# Check if parameter setted
raise ValueError("Empty parameter key")

if not value:
# Check if value setted
raise ValueError("Empty parameter value")

regex_pattern = r"{}(.*)=(.*)".format(key)
new_data = "{}={}".format(key, value)
with open(settings_file, "r+") as setting_file:
settings_data = setting_file.read()
setting_file.seek(0)
if re.search(regex_pattern, settings_data):
# If found parameter in setting file - replace it
settings_data_new = re.sub(regex_pattern, new_data, settings_data)
else:
# Else just add to end of file
settings_data_new = settings_data + "\n{}\n".format(new_data)
setting_file.write(settings_data_new)
setting_file.truncate()
host.message("Setting {} success".format(new_data))
return True


def check_setting(settings_file, key):
"""Check setted parameter

Args:
settings_file (str) : Setting file full path
key (str) : Setting key
"""
with open(settings_file, "r") as f:
for line in f:
if key in line:
raise OK(line)
raise RuntimeError("Parameter %s not found" % key)


set_settings(SETTINGS_FILE, PARAMETR_KEY, PARAMETR_VALUE)
check_setting(SETTINGS_FILE, PARAMETR_KEY)



Подсказка

При успешном выполнении скрипта вы получите сообщение: ERROR: OK: skip_edit_check=1



Скачать