Основные функции
Узнаём количество подключенных мониторов к TRASSIR OS
Установка
- Перейти в автоматизацию, нажать «Загрузить пример» и выбрать «Из файла», указав путь к скрипту.
- Снять галочку «Включить скрипт» и нажать сохранить, запустить.
- Ниже видим отработку скрипта
code
# -*- coding: utf-8 -*-
# This script check connected monitors
#
# Script is available only for TrassirOS
#
# Version: 0.1
# Author: A.A.Trubilin, DSSL
# E-mail: a.trubilin@dssl.ru
"""
<parameters>
<company>AATrubilin</company>
<title>check_monitors</title>
<version>0.1</version>
<parameter>
<type>string</type>
<id>XORG_LOG_PATH</id>
<name>Путь до файла Xorg.0.log</name>
<value>/var/log/Xorg.0.log</value>
</parameter>
</parameters>
"""
import os
import subprocess
import host
class Result(Exception):
pass
def show_log(xorg_path):
"""
Args:
xorg_path (str): Path to Xorg.0.log file
Raises:
RuntimeError: if shell command finished with error
Result: if shell command finished with success
"""
command = "cat {xorg_path} | grep connect".format(xorg_path=xorg_path)
sp = subprocess.Popen(
command,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
shell=True,
)
out, err = sp.communicate()
if err:
raise RuntimeError(err)
else:
res = ""
for row in out.split("\n"):
if " connected" in row:
color = "#009900"
else:
color = "#000000"
res += """<br><span style="color: {color}">{text}</span>""".format(
color=color, text=row
)
raise Result(res)
if __name__ == host.stats().parent().guid:
if os.name == "nt":
raise OSError("Script is available only for TrassirOS")
GLOBALS = globals()
XORG_LOG_PATH = GLOBALS.get("XORG_LOG_PATH", "/var/log/Xorg.0.log")
show_log(XORG_LOG_PATH)
Скачать