Page tree
Skip to end of metadata
Go to start of metadata

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

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

Установка

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


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


 code

# -*- coding: utf-8 -*-
# This script set new parameters in nvr-system-settings.ini
#
# Script is available only for TrassirOS
#
# Version: 2.0
# Author: A.A.Trubilin, DSSL
# E-mail: a.trubilin@dssl.ru
"""
<parameters>
<company>AATrubilin</company>
<title>nvr-system-settings</title>
<version>2.0</version>
</parameters>
"""

import os
import ConfigParser as configparser

from __builtin__ import object as py_object

import host


class ResultMessage(Exception):
pass


class NvrSystemSettings(py_object):
_SETTINGS_PATH = "/home/trassir/nvr-system-settings.ini"

def __init__(self, setting_path=None):
"""Set/update parameters in nvr-system-settings.ini

Args:
setting_path (str, optional): Full path to setting file
"""
if setting_path is None:
setting_path = self._SETTINGS_PATH
self.setting_path = setting_path

if not os.path.isfile(setting_path):
raise IOError("File {!r} not found".format(self.setting_path))

self.config = configparser.ConfigParser()
self.config.read(setting_path)

def _set_parameter(self, section, key, value):
"""Set parameter to section

Args:
section (str): Parameter section
key (str): Parameter key
value (str): Parameter value
"""
try:
self.config.set(section, key, value)
except configparser.NoSectionError:
self.config.add_section(section)
self.config.set(section, key, value)

def set_from_dict(self, settings):
"""Set settings from dict object

Args:
settings (Dict[Dict[str: str]]): Settings to update

Examples:
settings = {
"hidden": {
"skip_edid_check": "true"
},
"keyboard": {
keyboard_layouts: 0,
keyboard_switch: 1
}
}
This setting will update nvr-system-settings.ini file with:
[hidden]
skip_edid_check = true

[keyboard]
keyboard_layouts = 0
keyboard_switch = 1
"""
if not isinstance(settings, dict):
raise TypeError("Expected 'dict' got {!r}".format(type(settings).__name__))

for section, config in settings.iteritems():
if not isinstance(config, dict):
raise TypeError(
"Expected 'dict' got {!r}".format(type(config).__name__)
)

for key, value in config.iteritems():
self._set_parameter(section, key, value)

with open(self.setting_path, "w") as setting_file:
self.config.write(setting_file)


if __name__ == host.stats().parent().guid:
if os.name == "nt":
raise OSError("This script is unavailable for WinOS")

nvr_system_settings = NvrSystemSettings()
nvr_system_settings.set_from_dict({"hidden": {"skip_edid_check": "true"}})

raise ResultMessage("""<span style="color: #009900">Success</span>""")

При успешном выполнении скрипта вы получите сообщение: ERROR: ResultMessage: Success


Скачать



  • No labels