Logdateien als Binary übertragen

resetpicontrol für XML hinzugefügt
This commit is contained in:
2017-04-11 12:39:58 +02:00
parent 9a981410e8
commit b26fbc2dc0
3 changed files with 15 additions and 12 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 revpipyload --> <!-- eric project file for project revpipyload -->
<!-- Saved: 2017-03-28, 10:07:15 --> <!-- Saved: 2017-04-11, 12:21:18 -->
<!-- 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>Dieser Loader wird über das Init-System geladen und führt das angegebene Pythonprogramm aus. Es ist für den RevolutionPi gedacht um automatisch das SPS-Programm zu starten.</Description> <Description>Dieser Loader wird über das Init-System geladen und führt das angegebene Pythonprogramm aus. Es ist für den RevolutionPi gedacht um automatisch das SPS-Programm zu starten.</Description>
<Version>0.2.11</Version> <Version>0.2.12</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"/>

View File

@@ -33,6 +33,7 @@ begrenzt werden!
import gzip import gzip
import proginit import proginit
import os import os
import pickle
import shlex import shlex
import signal import signal
import subprocess import subprocess
@@ -53,7 +54,7 @@ from xmlrpc.server import SimpleXMLRPCServer
configrsc = "/opt/KUNBUS/config.rsc" configrsc = "/opt/KUNBUS/config.rsc"
picontrolreset = "/opt/KUNBUS/piControlReset" picontrolreset = "/opt/KUNBUS/piControlReset"
procimg = "/dev/piControl0" procimg = "/dev/piControl0"
pyloadverion = "0.2.11" pyloadverion = "0.2.12"
class LogReader(): class LogReader():
@@ -85,7 +86,7 @@ class LogReader():
"""Gibt neue Zeilen ab letzen Aufruf zurueck. """Gibt neue Zeilen ab letzen Aufruf zurueck.
@returns: list() mit neuen Zeilen""" @returns: list() mit neuen Zeilen"""
if not os.access(proginit.logapp, os.R_OK): if not os.access(proginit.logapp, os.R_OK):
return [] return Binary(pickle.dumps([]))
else: else:
if self.fhapp is None or self.fhapp.closed: if self.fhapp is None or self.fhapp.closed:
self.fhapp = open(proginit.logapp) self.fhapp = open(proginit.logapp)
@@ -103,7 +104,7 @@ class LogReader():
proginit.logger.debug( proginit.logger.debug(
"got {} new app log lines".format(len(lst_new)) "got {} new app log lines".format(len(lst_new))
) )
return lst_new return Binary(pickle.dumps(lst_new))
def get_applog(self): def get_applog(self):
"""Gibt die gesamte Logdatei zurueck. """Gibt die gesamte Logdatei zurueck.
@@ -112,12 +113,12 @@ class LogReader():
proginit.logger.error( proginit.logger.error(
"can not access logfile {}".format(proginit.logapp) "can not access logfile {}".format(proginit.logapp)
) )
return "" return Binary(pickle.dumps(""))
else: else:
if self.fhapp is None or self.fhapp.closed: if self.fhapp is None or self.fhapp.closed:
self.fhapp = open(proginit.logapp) self.fhapp = open(proginit.logapp)
self.fhapp.seek(0) self.fhapp.seek(0)
return self.fhapp.read() return Binary(pickle.dumps(self.fhapp.read()))
def get_plclines(self): def get_plclines(self):
"""Gibt neue Zeilen ab letzen Aufruf zurueck. """Gibt neue Zeilen ab letzen Aufruf zurueck.
@@ -126,7 +127,7 @@ class LogReader():
proginit.logger.error( proginit.logger.error(
"can not access logfile {}".format(proginit.logplc) "can not access logfile {}".format(proginit.logplc)
) )
return [] return Binary(pickle.dumps([]))
else: else:
if self.fhplc is None or self.fhplc.closed: if self.fhplc is None or self.fhplc.closed:
self.fhplc = open(proginit.logplc) self.fhplc = open(proginit.logplc)
@@ -144,7 +145,7 @@ class LogReader():
proginit.logger.debug( proginit.logger.debug(
"got {} new pyloader log lines".format(len(lst_new)) "got {} new pyloader log lines".format(len(lst_new))
) )
return lst_new return Binary(pickle.dumps(lst_new))
def get_plclog(self): def get_plclog(self):
"""Gibt die gesamte Logdatei zurueck. """Gibt die gesamte Logdatei zurueck.
@@ -153,12 +154,12 @@ class LogReader():
proginit.logger.error( proginit.logger.error(
"can not access logfile {}".format(proginit.logplc) "can not access logfile {}".format(proginit.logplc)
) )
return "" return Binary(pickle.dumps(""))
else: else:
if self.fhplc is None or self.fhplc.closed: if self.fhplc is None or self.fhplc.closed:
self.fhplc = open(proginit.logplc) self.fhplc = open(proginit.logplc)
self.fhplc.seek(0) self.fhplc.seek(0)
return self.fhplc.read() return Binary(pickle.dumps(self.fhplc.read()))
class PipeLogwriter(Thread): class PipeLogwriter(Thread):
@@ -588,6 +589,8 @@ class RevPiPyLoad():
self.xml_plcupload, "plcupload") self.xml_plcupload, "plcupload")
self.xsrv.register_function( self.xsrv.register_function(
self.xml_plcuploadclean, "plcuploadclean") self.xml_plcuploadclean, "plcuploadclean")
self.xsrv.register_function(
lambda: os.system(picontrolreset), "resetpicontrol")
self.xsrv.register_function( self.xsrv.register_function(
self.xml_setconfig, "set_config") self.xml_setconfig, "set_config")
self.xsrv.register_function( self.xsrv.register_function(

View File

@@ -27,7 +27,7 @@ setup(
license="LGPLv3", license="LGPLv3",
name="revpipyload", name="revpipyload",
version="0.2.11", version="0.2.12",
scripts=["data/revpipyload"], scripts=["data/revpipyload"],