1
0
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:
2017-02-27 14:27:40 +01:00
parent ed23ce2b48
commit 2b65c74d34
2 changed files with 38 additions and 7 deletions

View File

@@ -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/>

View File

@@ -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__":