Mit default zusammenführen

This commit is contained in:
2017-06-06 08:55:38 +02:00
5 changed files with 41 additions and 14 deletions

View File

@@ -202,7 +202,7 @@ Methods</h3>
<td>Instantiiert PipeLogwriter-Klasse.</td> <td>Instantiiert PipeLogwriter-Klasse.</td>
</tr><tr> </tr><tr>
<td><a style="color:#0000FF" href="#PipeLogwriter.__del__">__del__</a></td> <td><a style="color:#0000FF" href="#PipeLogwriter.__del__">__del__</a></td>
<td></td> <td>Close file handler.</td>
</tr><tr> </tr><tr>
<td><a style="color:#0000FF" href="#PipeLogwriter._configurefh">_configurefh</a></td> <td><a style="color:#0000FF" href="#PipeLogwriter._configurefh">_configurefh</a></td>
<td>Konfiguriert den FileHandler fuer Ausgaben der PLCAPP.</td> <td>Konfiguriert den FileHandler fuer Ausgaben der PLCAPP.</td>
@@ -240,7 +240,9 @@ Dateiname fuer Logdatei
<h3 style="background-color:#FFFFFF;color:#FF0000"> <h3 style="background-color:#FFFFFF;color:#FF0000">
PipeLogwriter.__del__</h3> PipeLogwriter.__del__</h3>
<b>__del__</b>(<i></i>) <b>__del__</b>(<i></i>)
<a NAME="PipeLogwriter._configurefh" ID="PipeLogwriter._configurefh"></a> <p>
Close file handler.
</p><a NAME="PipeLogwriter._configurefh" ID="PipeLogwriter._configurefh"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000"> <h3 style="background-color:#FFFFFF;color:#FF0000">
PipeLogwriter._configurefh</h3> PipeLogwriter._configurefh</h3>
<b>_configurefh</b>(<i></i>) <b>_configurefh</b>(<i></i>)

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-27, 10:26:18 --> <!-- Saved: 2017-05-31, 15:02: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>
@@ -27,7 +27,7 @@
<Other>MANIFEST.in</Other> <Other>MANIFEST.in</Other>
<Other>doc</Other> <Other>doc</Other>
<Other>debian</Other> <Other>debian</Other>
<Other>revpipyload.api</Other> <Other>eric-revpipyload.api</Other>
</Others> </Others>
<Vcs> <Vcs>
<VcsType>Mercurial</VcsType> <VcsType>Mercurial</VcsType>
@@ -176,7 +176,7 @@
<string>outputFile</string> <string>outputFile</string>
</key> </key>
<value> <value>
<string>revpipyload.api</string> <string>eric-revpipyload.api</string>
</value> </value>
<key> <key>
<string>useRecursion</string> <string>useRecursion</string>

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 socket import socket
@@ -53,7 +54,7 @@ from timeit import default_timer
from xmlrpc.client import Binary from xmlrpc.client import Binary
from xmlrpc.server import SimpleXMLRPCServer from xmlrpc.server import SimpleXMLRPCServer
configrsc = "/opt/KUNBUS/config.rsc" configrsc = None
picontrolreset = "/opt/KUNBUS/piControlReset" picontrolreset = "/opt/KUNBUS/piControlReset"
procimg = "/dev/piControl0" procimg = "/dev/piControl0"
pyloadverion = "0.3.0" pyloadverion = "0.3.0"
@@ -95,7 +96,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)
@@ -113,7 +114,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.
@@ -122,12 +123,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.
@@ -136,7 +137,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)
@@ -154,7 +155,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.
@@ -163,12 +164,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):
@@ -201,6 +202,7 @@ class PipeLogwriter(Thread):
)) ))
def __del__(self): def __del__(self):
"""Close file handler."""
if self._fh is not None: if self._fh is not None:
self._fh.close() self._fh.close()
@@ -667,6 +669,27 @@ class RevPiPyLoad():
"""Instantiiert RevPiPyLoad-Klasse.""" """Instantiiert RevPiPyLoad-Klasse."""
proginit.configure() proginit.configure()
# Globale Werte anpassen
global configrsc
global picontrolreset
# piCtory Konfiguration an bekannten Stellen prüfen
lst_rsc = ["/etc/revpi/config.rsc", "/opt/KUNBUS/config.rsc"]
for rscfile in lst_rsc:
if os.access(rscfile, os.F_OK | os.R_OK):
configrsc = rscfile
break
if configrsc is None:
raise RuntimeError(
"can not access known pictory configurations at {}"
"".format(", ".join(lst_rsc))
)
# piControlReset suchen
if not os.access(picontrolreset, os.F_OK | os.X_OK):
picontrolreset = "/usr/bin/piTest -x"
# Klassenattribute
self._exit = True self._exit = True
self.evt_loadconfig = Event() self.evt_loadconfig = Event()
self.globalconfig = ConfigParser() self.globalconfig = ConfigParser()
@@ -774,6 +797,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(