1
0
mirror of https://github.com/naruxde/revpipycontrol.git synced 2025-12-29 11:23:13 +01:00

docstrings angepasst

This commit is contained in:
2017-07-01 13:37:06 +02:00
parent 256a95aa8b
commit 0653c6c8eb
16 changed files with 215 additions and 100 deletions

View File

@@ -18,8 +18,8 @@ def addroot(filename):
Je nach Ausführungsart der Anwendung muss das root-dir über
andere Arten abgerufen werden.
@param filename: Datei oder Ordnername
@returns: root dir
@param filename Datei oder Ordnername
@return root dir
"""
if getattr(sys, "frozen", False):

View File

@@ -63,8 +63,8 @@ class RevPiCheckClient(tkinter.Frame):
def __hidewin(self, win, event=None):
u"""Verbergt übergebenes Fenster.
@param win: Fenster zum verbergen
@param event: Tkinter Event"""
@param win Fenster zum verbergen
@param event Tkinter Event"""
win.withdraw()
def __saveoldvalue(self, event, tkvar):
@@ -78,7 +78,7 @@ class RevPiCheckClient(tkinter.Frame):
def __showwin(self, win):
u"""Zeigt oder verbergt übergebenes Fenster.
@param win: Fenster zum anzeigen/verbergen"""
@param win Fenster zum anzeigen/verbergen"""
if win.winfo_viewable():
win.withdraw()
else:
@@ -86,8 +86,8 @@ class RevPiCheckClient(tkinter.Frame):
def __spinboxkey(self, device, io, event=None):
u"""Prüft die Eingabe auf plausibilität.
@param event: tkinter Event
@param io: IO Liste mit tkinter Variable"""
@param event tkinter Event
@param io IO Liste mit tkinter Variable"""
# io = [name,bytelen,byteaddr,bmk,bitaddress,(tkinter_var)]
try:
newvalue = io[5].get()
@@ -112,9 +112,9 @@ class RevPiCheckClient(tkinter.Frame):
def _createiogroup(self, device, frame, iotype):
u"""Erstellt IO-Gruppen.
@param device: Deviceposition
@param frame: tkinter Frame
@iotype: 'inp' oder 'out' als str()
@param device Deviceposition
@param frame tkinter Frame
@param iotype 'inp' oder 'out' als str()
"""
# IO-Typen festlegen
@@ -265,12 +265,12 @@ class RevPiCheckClient(tkinter.Frame):
def _onfrmconf(self, canvas):
u"""Erstellt Fenster in einem Canvas.
@param canvas: Canvas in dem Objekte erstellt werden sollen"""
@param canvas Canvas in dem Objekte erstellt werden sollen"""
canvas.configure(scrollregion=canvas.bbox("all"))
def _warnwrite(self):
u"""Warnung für Benutzer über Schreibfunktion einmal fragen.
@returns: True, wenn Warnung einmal mit OK bestätigt wurde"""
@return True, wenn Warnung einmal mit OK bestätigt wurde"""
if self.__checkwrite:
self.__checkwrite = not tkmsg.askokcancel(
_("Warning"),
@@ -285,8 +285,8 @@ class RevPiCheckClient(tkinter.Frame):
def _workvalues(self, io_dicts=None, writeout=False):
u"""Alle Werte der Inputs und Outputs abrufen.
@param io_dicts: Arbeit nur für dieses Dict()
@param writeout: Änderungen auf RevPi schreiben"""
@param io_dicts Arbeit nur für dieses Dict()
@param writeout Änderungen auf RevPi schreiben"""
# Abfragelisten vorbereiten
if io_dicts is None:
@@ -377,7 +377,7 @@ class RevPiCheckClient(tkinter.Frame):
def validatereturn(self, returnlist):
u"""Überprüft die Rückgaben der setvalue Funktion.
@param returnlist: list() der xml Rückgabe"""
@param returnlist list() der xml Rückgabe"""
if type(returnlist[0]) != list:
returnlist = [returnlist]

View File

@@ -29,7 +29,7 @@ class RevPiInfo(tkinter.Frame):
def _checkclose(self, event=None):
u"""Prüft ob Fenster beendet werden soll.
@param event: tkinter-Event"""
@param event tkinter-Event"""
self.master.destroy()
def _createwidgets(self, extended=False):

View File

@@ -31,7 +31,7 @@ class RevPiLogfile(tkinter.Frame):
def _checkclose(self, event=None):
u"""Prüft ob Fenster beendet werden soll.
@param event: tkinter-Event"""
@param event tkinter-Event"""
self.master.destroy()
def _createwidgets(self):
@@ -91,7 +91,7 @@ class RevPiLogfile(tkinter.Frame):
def get_applog(self, full=False):
u"""Ruft App Logbuch ab.
@param full: Ganzes Logbuch laden"""
@param full Ganzes Logbuch laden"""
# Logs abrufen und letzte Position merken
self.mrkapp = self._load_log(
@@ -103,7 +103,7 @@ class RevPiLogfile(tkinter.Frame):
def get_plclog(self, full=False):
u"""Ruft PLC Logbuch ab.
@param full: Ganzes Logbuch laden"""
@param full Ganzes Logbuch laden"""
# Logs abrufen und letzte Position merken
self.mrkplc = self._load_log(
@@ -116,11 +116,11 @@ class RevPiLogfile(tkinter.Frame):
def _load_log(self, textwidget, xmlcall, startposition, full):
u"""Läd die angegebenen Logfiles herunter.
@param textwidget: Widget in das Logs eingefügt werden sollen
@param xmlcall: xmlrpc Funktion zum Abrufen der Logdaten
@param startposition: Startposition ab der Logdaten kommen sollen
@param full: Komplettes Logbuch laden
@returns: Ende der Datei (neue Startposition)
@param textwidget Widget in das Logs eingefügt werden sollen
@param xmlcall xmlrpc Funktion zum Abrufen der Logdaten
@param startposition Startposition ab der Logdaten kommen sollen
@param full Komplettes Logbuch laden
@return Ende der Datei (neue Startposition)
"""
roll = textwidget.yview()[1] == 1.0

View File

@@ -17,7 +17,7 @@ class RevPiOption(tkinter.Frame):
def __init__(self, master, xmlcli, xmlmode):
u"""Init RevPiOption-Class.
@returns: None"""
@return None"""
if xmlmode < 2:
return None
@@ -36,7 +36,7 @@ class RevPiOption(tkinter.Frame):
def _changesdone(self):
u"""Prüft ob sich die Einstellungen geändert haben.
@returns: True, wenn min. eine Einstellung geändert wurde"""
@return True, wenn min. eine Einstellung geändert wurde"""
return (
self.var_start.get() != self.dc.get("autostart", "1")
or self.var_reload.get() != self.dc.get("autoreload", "1")
@@ -54,7 +54,7 @@ class RevPiOption(tkinter.Frame):
def _checkclose(self, event=None):
u"""Prüft ob Fenster beendet werden soll.
@param event: tkinter-Event"""
@param event tkinter-Event"""
ask = True
if self._changesdone():
ask = tkmsg.askyesno(

View File

@@ -26,7 +26,8 @@ savefile = os.path.join(homedir, ".revpipyplc", "connections.dat")
def get_connections():
u"""Verbindungen aus Datei laden."""
u"""Verbindungen aus Datei laden.
@return dict() mit Verbindungen"""
if os.path.exists(savefile):
fh = open(savefile, "rb")
connections = pickle.load(fh)
@@ -39,7 +40,7 @@ class RevPiPlcList(tkinter.Frame):
def __init__(self, master):
u"""Init RevPiPlcList-class.
@param master: tkinter master"""
@param master tkinter master"""
super().__init__(master)
self.master.bind("<KeyPress-Escape>", self._checkclose)
self.pack()
@@ -55,7 +56,7 @@ class RevPiPlcList(tkinter.Frame):
def _checkclose(self, event=None):
u"""Prüft ob Fenster beendet werden soll.
@param event: tkinter-Event"""
@param event tkinter-Event"""
ask = True
if self.changes:
ask = tkmsg.askyesno(
@@ -134,7 +135,8 @@ class RevPiPlcList(tkinter.Frame):
self.btn_close.grid(column=4, row=9, sticky="se")
def _saveappdata(self):
u"""Speichert Verbindungen im home Dir."""
u"""Speichert Verbindungen im home Dir.
@return True, bei erfolgreicher Verarbeitung"""
try:
makedirs(os.path.dirname(savefile), exist_ok=True)
fh = open(savefile, "wb")
@@ -151,6 +153,7 @@ class RevPiPlcList(tkinter.Frame):
self.list_conn.insert("end", *lst_conns)
def evt_btnadd(self):
u"""Verbindungseinstellungen übernehmen."""
# TODO: Daten prüfen
self._connections[self.var_name.get()] = \
(self.var_address.get(), self.var_port.get())
@@ -160,6 +163,7 @@ class RevPiPlcList(tkinter.Frame):
self.changes = True
def evt_btnnew(self):
u"""Neue Verbindung erstellen."""
self.list_conn.select_clear(0, "end")
self.evt_listconn()
@@ -169,6 +173,7 @@ class RevPiPlcList(tkinter.Frame):
self.var_port.set("55123")
def evt_btnremove(self):
u"""Verbindung löschen."""
item_index = self.list_conn.curselection()
if len(item_index) == 1:
item = self.list_conn.get(item_index[0])
@@ -186,6 +191,7 @@ class RevPiPlcList(tkinter.Frame):
self.changes = True
def evt_btnsave(self):
u"""Alle Verbindungen speichern."""
if self._saveappdata():
ask = tkmsg.askyesno(
_("Information"),
@@ -202,6 +208,7 @@ class RevPiPlcList(tkinter.Frame):
)
def evt_listconn(self, evt=None):
u"""Übernimmt Einstellungen in Eingabefelder."""
item_index = self.list_conn.curselection()
if len(item_index) == 1:
@@ -219,6 +226,7 @@ class RevPiPlcList(tkinter.Frame):
self.btn_remove["state"] = "disabled"
def evt_keypress(self, evt=None):
u"""Passt bei Tastendruck den Status der Buttons an."""
okvalue = "normal" if (
self.var_address.get() != ""
and self.var_name.get() != ""

View File

@@ -35,7 +35,8 @@ savefile = os.path.join(homedir, ".revpipyplc", "programpath.dat")
class RevPiProgram(tkinter.Frame):
def __init__(self, master, xmlcli, xmlmode, revpi):
u"""Init RevPiProgram-Class."""
u"""Init RevPiProgram-Class.
@return None"""
if xmlmode < 2:
return None
@@ -60,6 +61,8 @@ class RevPiProgram(tkinter.Frame):
self._evt_optup()
def _checkclose(self, event=None):
u"""Prüft ob Fenster beendet werden soll.
@param event tkinter-Event"""
if self.uploaded:
tkmsg.showinfo(
_("Information"),
@@ -71,6 +74,7 @@ class RevPiProgram(tkinter.Frame):
self.master.destroy()
def _createwidgets(self):
u"""Erstellt alle Widgets."""
self.master.wm_title(_("RevPi Python PLC program"))
self.master.wm_resizable(width=False, height=False)
@@ -217,6 +221,7 @@ class RevPiProgram(tkinter.Frame):
btn.grid()
def _evt_optdown(self, text=""):
u"""Passt je nach gewählter Option den Status der Widgets an."""
if self.lst_typedown.index(self.var_typedown.get()) == 0:
self.var_picdown.set(False)
self.ckb_picdown["state"] = "disable"
@@ -224,6 +229,7 @@ class RevPiProgram(tkinter.Frame):
self.ckb_picdown["state"] = "normal"
def _evt_optup(self, text=""):
u"""Passt je nach gewählter Option den Status der Widgets an."""
if self.lst_typeup.index(self.var_typeup.get()) <= 1:
self.var_picup.set(False)
self.ckb_picup["state"] = "disable"
@@ -231,7 +237,9 @@ class RevPiProgram(tkinter.Frame):
self.ckb_picup["state"] = "normal"
def _loaddefault(self, full=False):
"""Uebernimmt fuer den Pi die letzen Pfade."""
u"""Übernimmt für den Pi die letzen Pfade.
@param full Einstellungen für alle Verbindungen laden
@return dict() mit Einstellungen"""
if os.path.exists(savefile):
fh = open(savefile, "rb")
dict_all = pickle.load(fh)
@@ -242,7 +250,8 @@ class RevPiProgram(tkinter.Frame):
return {}
def _savedefaults(self):
u"""Schreibt fuer den Pi die letzen Pfade."""
u"""Schreibt fuer den Pi die letzen Pfade.
@return True, bei erfolgreicher Verarbeitung"""
try:
makedirs(os.path.dirname(savefile), exist_ok=True)
dict_all = self._loaddefault(full=True)
@@ -256,8 +265,8 @@ class RevPiProgram(tkinter.Frame):
def create_filelist(self, rootdir):
u"""Erstellt eine Dateiliste von einem Verzeichnis.
@param rootdir: Verzeichnis fuer das eine Liste erstellt werden soll
@returns: Dateiliste"""
@param rootdir Verzeichnis fuer das eine Liste erstellt werden soll
@return Dateiliste"""
filelist = []
for tup_dir in os.walk(rootdir):
for fname in tup_dir[2]:
@@ -269,8 +278,8 @@ class RevPiProgram(tkinter.Frame):
Dabei wird geprueft, ob es sich um einen einzelnen Ordner handelt
und ob es eine piCtory Konfiguration im rootdir gibt.
@param rootdir: Verzeichnis fuer Pruefung
@returns: Abgeaendertes rootdir
@param rootdir Verzeichnis fuer Pruefung
@return Abgeaendertes rootdir
"""
lst_dir = os.listdir(rootdir)
@@ -558,7 +567,8 @@ class RevPiProgram(tkinter.Frame):
fh.close()
def plcupload(self):
u"""Lädt das angegebene Projekt auf den RevPi."""
u"""Lädt das angegebene Projekt auf den RevPi.
@return True, bei erfolgreicher Verarbeitung"""
tup = self.lst_typeup.index(self.var_typeup.get())
dirselect = ""
dirtmp = None
@@ -748,3 +758,5 @@ class RevPiProgram(tkinter.Frame):
# Temp-Dir aufräumen
if dirtmp is not None:
rmtree(dirtmp)
return True

View File

@@ -31,7 +31,7 @@ class RevPiPyControl(tkinter.Frame):
def __init__(self, master=None):
u"""Init RevPiPyControl-Class.
@param master: tkinter master"""
@param master tkinter master"""
super().__init__(master)
self.master.protocol("WM_DELETE_WINDOW", self._closeapp)
self.pack(fill="both", expand=True)
@@ -84,7 +84,7 @@ class RevPiPyControl(tkinter.Frame):
def _closeapp(self, event=None):
u"""Räumt auf und beendet Programm.
@param event: tkinter Event"""
@param event tkinter Event"""
self._closeall()
self.master.destroy()
@@ -183,6 +183,8 @@ class RevPiPyControl(tkinter.Frame):
self.mbar.add_cascade(label=_("Connect"), menu=self.mconn)
def _opt_conn(self, text):
u"""Stellt eine neue Verbindung zu RevPiPyLoad her.
@param text Verbindungsname"""
socket.setdefaulttimeout(2)
sp = ServerProxy(
"http://{}:{}".format(
@@ -261,7 +263,8 @@ class RevPiPyControl(tkinter.Frame):
self._fillconnbar()
def plclogs(self):
u"""Öffnet das Fenster für Logdateien."""
u"""Öffnet das Fenster für Logdateien.
@return None"""
if "load_plclog" not in self.xmlfuncs:
tkmsg.showwarning(
_("Warning"),
@@ -345,6 +348,7 @@ class RevPiPyControl(tkinter.Frame):
)
def tmr_plcrunning(self):
u"""Timer der den Status des PLC Programms prüft."""
self._btnstate()
if self.cli is None:
self.txt_status["readonlybackground"] = "lightblue"