mirror of
https://github.com/naruxde/revpipycontrol.git
synced 2025-11-08 15:43:52 +01:00
simple log viewer
logviewer scrollt automatisch l?d neue Zeilen nach
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE Project SYSTEM "Project-5.1.dtd">
|
<!DOCTYPE Project SYSTEM "Project-5.1.dtd">
|
||||||
<!-- eric project file for project revpipycontrol -->
|
<!-- eric project file for project revpipycontrol -->
|
||||||
<!-- Saved: 2017-02-26, 18:33:07 -->
|
<!-- Saved: 2017-02-27, 14:26:13 -->
|
||||||
<!-- Copyright (C) 2017 Sven Sager, akira@narux.de -->
|
<!-- Copyright (C) 2017 Sven Sager, akira@narux.de -->
|
||||||
<Project version="5.1">
|
<Project version="5.1">
|
||||||
<Language>en_US</Language>
|
<Language>en_US</Language>
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
<ProgLanguage mixed="0">Python3</ProgLanguage>
|
<ProgLanguage mixed="0">Python3</ProgLanguage>
|
||||||
<ProjectType>Console</ProjectType>
|
<ProjectType>Console</ProjectType>
|
||||||
<Description></Description>
|
<Description></Description>
|
||||||
<Version>0.1.0</Version>
|
<Version>0.2.0</Version>
|
||||||
<Author>Sven Sager</Author>
|
<Author>Sven Sager</Author>
|
||||||
<Email>akira@narux.de</Email>
|
<Email>akira@narux.de</Email>
|
||||||
<Eol index="-1"/>
|
<Eol index="-1"/>
|
||||||
@@ -17,6 +17,7 @@
|
|||||||
<Source>revpipycontrol/__init__.py</Source>
|
<Source>revpipycontrol/__init__.py</Source>
|
||||||
<Source>revpipycontrol/revpipycontrol.py</Source>
|
<Source>revpipycontrol/revpipycontrol.py</Source>
|
||||||
<Source>revpipycontrol/revpicheckclient.py</Source>
|
<Source>revpipycontrol/revpicheckclient.py</Source>
|
||||||
|
<Source>setup.py</Source>
|
||||||
</Sources>
|
</Sources>
|
||||||
<Forms/>
|
<Forms/>
|
||||||
<Translations/>
|
<Translations/>
|
||||||
|
|||||||
@@ -1,12 +1,15 @@
|
|||||||
#!/usr/bin/python3
|
#!/usr/bin/python3
|
||||||
#
|
#
|
||||||
# (c) Sven Sager, License: GPLv3
|
# RevPiPyControl
|
||||||
|
# Version: 0.2.0
|
||||||
|
#
|
||||||
|
# Webpage: https://revpimodio.org/
|
||||||
|
# (c) Sven Sager, License: LGPLv3
|
||||||
#
|
#
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
import revpicheckclient
|
import revpicheckclient
|
||||||
import tkinter
|
import tkinter
|
||||||
from argparse import ArgumentParser
|
from argparse import ArgumentParser
|
||||||
from concurrent.futures import ThreadPoolExecutor
|
|
||||||
from xmlrpc.client import ServerProxy, Binary
|
from xmlrpc.client import ServerProxy, Binary
|
||||||
|
|
||||||
|
|
||||||
@@ -39,17 +42,38 @@ class RevPiPyLogs(tkinter.Frame):
|
|||||||
|
|
||||||
self.get_applog()
|
self.get_applog()
|
||||||
self.get_plclog()
|
self.get_plclog()
|
||||||
|
|
||||||
|
# Timer zum nachladen aktivieren
|
||||||
|
self.master.after(1000, self.get_applines)
|
||||||
|
self.master.after(1000, self.get_plclines)
|
||||||
|
|
||||||
|
def get_applines(self):
|
||||||
|
roll = self.applog.yview()[1] == 1.0
|
||||||
|
for line in self.xmlcli.get_applines():
|
||||||
|
self.applog.insert(tkinter.END, line)
|
||||||
|
if roll:
|
||||||
|
self.applog.see(tkinter.END)
|
||||||
|
self.master.after(1000, self.get_applines)
|
||||||
|
|
||||||
def get_applog(self):
|
def get_applog(self):
|
||||||
self.applog.delete(1.0, tkinter.END)
|
self.applog.delete(1.0, tkinter.END)
|
||||||
self.applog.insert(1.0, self.xmlcli.get_applog())
|
self.applog.insert(1.0, self.xmlcli.get_applog())
|
||||||
self.applog.see(tkinter.END)
|
self.applog.see(tkinter.END)
|
||||||
|
|
||||||
|
def get_plclines(self):
|
||||||
|
roll = self.plclog.yview()[1] == 1.0
|
||||||
|
for line in self.xmlcli.get_plclines():
|
||||||
|
self.plclog.insert(tkinter.END, line)
|
||||||
|
if roll:
|
||||||
|
self.plclog.see(tkinter.END)
|
||||||
|
self.master.after(1000, self.get_plclines)
|
||||||
|
|
||||||
def get_plclog(self):
|
def get_plclog(self):
|
||||||
self.plclog.delete(1.0, tkinter.END)
|
self.plclog.delete(1.0, tkinter.END)
|
||||||
self.plclog.insert(1.0, self.xmlcli.get_plclog())
|
self.plclog.insert(1.0, self.xmlcli.get_plclog())
|
||||||
self.plclog.see(tkinter.END)
|
self.plclog.see(tkinter.END)
|
||||||
|
|
||||||
|
|
||||||
class RevPiPyControl(tkinter.Frame):
|
class RevPiPyControl(tkinter.Frame):
|
||||||
|
|
||||||
def __init__(self, master=None):
|
def __init__(self, master=None):
|
||||||
@@ -137,7 +161,8 @@ class RevPiPyControl(tkinter.Frame):
|
|||||||
self.plcrunning()
|
self.plcrunning()
|
||||||
|
|
||||||
def plcrestart(self):
|
def plcrestart(self):
|
||||||
self.cli.plcrestart()
|
self.cli.plcstop()
|
||||||
|
self.cli.plcstart()
|
||||||
self.plcrunning()
|
self.plcrunning()
|
||||||
|
|
||||||
def plcrunning(self):
|
def plcrunning(self):
|
||||||
@@ -147,7 +172,12 @@ class RevPiPyControl(tkinter.Frame):
|
|||||||
else:
|
else:
|
||||||
self.btn_plcrunning["activebackground"] = "red"
|
self.btn_plcrunning["activebackground"] = "red"
|
||||||
self.btn_plcrunning["bg"] = "red"
|
self.btn_plcrunning["bg"] = "red"
|
||||||
self.var_status.set(self.cli.plcexitcode())
|
plcec = self.cli.plcexitcode()
|
||||||
|
if plcec == -1:
|
||||||
|
plcec = "RUNNING"
|
||||||
|
elif plcec == 0:
|
||||||
|
plcec = "NOT RUNNING"
|
||||||
|
self.var_status.set(plcec)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
Reference in New Issue
Block a user