mirror of
https://github.com/naruxde/revpipycontrol.git
synced 2025-11-08 15:43:52 +01:00
Konfiguration plcworkdir_set_uid in Optionen integriert
Konfiguraiton replace_ios in Optionen integriert Dropdownliste f?r forkonfigurierten Pfad von replace_ios eingebaut
This commit is contained in:
@@ -51,6 +51,9 @@ Methods</h3>
|
|||||||
<td><a style="color:#0000FF" href="#RevPiOption.__init__">RevPiOption</a></td>
|
<td><a style="color:#0000FF" href="#RevPiOption.__init__">RevPiOption</a></td>
|
||||||
<td>Init RevPiOption-Class.</td>
|
<td>Init RevPiOption-Class.</td>
|
||||||
</tr><tr>
|
</tr><tr>
|
||||||
|
<td><a style="color:#0000FF" href="#RevPiOption.__state_replace_ios">__state_replace_ios</a></td>
|
||||||
|
<td>Konfiguriert Werte für replace_io.</td>
|
||||||
|
</tr><tr>
|
||||||
<td><a style="color:#0000FF" href="#RevPiOption._changesdone">_changesdone</a></td>
|
<td><a style="color:#0000FF" href="#RevPiOption._changesdone">_changesdone</a></td>
|
||||||
<td>Prüft ob sich die Einstellungen geändert haben.</td>
|
<td>Prüft ob sich die Einstellungen geändert haben.</td>
|
||||||
</tr><tr>
|
</tr><tr>
|
||||||
@@ -104,6 +107,17 @@ Init RevPiOption-Class.
|
|||||||
<dd>
|
<dd>
|
||||||
None
|
None
|
||||||
</dd>
|
</dd>
|
||||||
|
</dl><a NAME="RevPiOption.__state_replace_ios" ID="RevPiOption.__state_replace_ios"></a>
|
||||||
|
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||||
|
RevPiOption.__state_replace_ios</h3>
|
||||||
|
<b>__state_replace_ios</b>(<i>text</i>)
|
||||||
|
<p>
|
||||||
|
Konfiguriert Werte für replace_io.
|
||||||
|
</p><dl>
|
||||||
|
<dt><i>text:</i></dt>
|
||||||
|
<dd>
|
||||||
|
Ausgewählter Eintrag in Liste
|
||||||
|
</dd>
|
||||||
</dl><a NAME="RevPiOption._changesdone" ID="RevPiOption._changesdone"></a>
|
</dl><a NAME="RevPiOption._changesdone" ID="RevPiOption._changesdone"></a>
|
||||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||||
RevPiOption._changesdone</h3>
|
RevPiOption._changesdone</h3>
|
||||||
|
|||||||
@@ -116,6 +116,7 @@ revpilogfile._?8
|
|||||||
revpilogfile.__author__?9
|
revpilogfile.__author__?9
|
||||||
revpilogfile.__copyright__?9
|
revpilogfile.__copyright__?9
|
||||||
revpilogfile.__license__?9
|
revpilogfile.__license__?9
|
||||||
|
revpioption.RevPiOption.__state_replace_ios?6(text)
|
||||||
revpioption.RevPiOption._changesdone?5()
|
revpioption.RevPiOption._changesdone?5()
|
||||||
revpioption.RevPiOption._changesdone_mqtt?5()
|
revpioption.RevPiOption._changesdone_mqtt?5()
|
||||||
revpioption.RevPiOption._checkclose?5(event=None)
|
revpioption.RevPiOption._checkclose?5(event=None)
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
<?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: 2019-06-27, 14:10:32 -->
|
<!-- Saved: 2019-09-16, 10:44:39 -->
|
||||||
<!-- Copyright (C) 2019 Sven Sager, akira@narux.de -->
|
<!-- Copyright (C) 2019 Sven Sager, akira@narux.de -->
|
||||||
<Project version="5.1">
|
<Project version="5.1">
|
||||||
<Language>en_US</Language>
|
<Language>en_US</Language>
|
||||||
<Hash>66103e2eaf8a762f14d1fd51d8b1c9dcaf35a275</Hash>
|
<Hash>66103e2eaf8a762f14d1fd51d8b1c9dcaf35a275</Hash>
|
||||||
<ProgLanguage mixed="0">Python3</ProgLanguage>
|
<ProgLanguage mixed="0">Python3</ProgLanguage>
|
||||||
<ProjectType>Console</ProjectType>
|
<ProjectType>Console</ProjectType>
|
||||||
<Version>0.7.2</Version>
|
<Version>0.8.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"/>
|
||||||
@@ -387,6 +387,41 @@
|
|||||||
</key>
|
</key>
|
||||||
<value>
|
<value>
|
||||||
<dict>
|
<dict>
|
||||||
|
<key>
|
||||||
|
<string>BuiltinsChecker</string>
|
||||||
|
</key>
|
||||||
|
<value>
|
||||||
|
<dict>
|
||||||
|
<key>
|
||||||
|
<string>chr</string>
|
||||||
|
</key>
|
||||||
|
<value>
|
||||||
|
<list>
|
||||||
|
<string>unichr</string>
|
||||||
|
</list>
|
||||||
|
</value>
|
||||||
|
<key>
|
||||||
|
<string>str</string>
|
||||||
|
</key>
|
||||||
|
<value>
|
||||||
|
<list>
|
||||||
|
<string>unicode</string>
|
||||||
|
</list>
|
||||||
|
</value>
|
||||||
|
</dict>
|
||||||
|
</value>
|
||||||
|
<key>
|
||||||
|
<string>CopyrightAuthor</string>
|
||||||
|
</key>
|
||||||
|
<value>
|
||||||
|
<string></string>
|
||||||
|
</value>
|
||||||
|
<key>
|
||||||
|
<string>CopyrightMinFileSize</string>
|
||||||
|
</key>
|
||||||
|
<value>
|
||||||
|
<int>0</int>
|
||||||
|
</value>
|
||||||
<key>
|
<key>
|
||||||
<string>DocstringType</string>
|
<string>DocstringType</string>
|
||||||
</key>
|
</key>
|
||||||
@@ -403,7 +438,7 @@
|
|||||||
<string>ExcludeMessages</string>
|
<string>ExcludeMessages</string>
|
||||||
</key>
|
</key>
|
||||||
<value>
|
<value>
|
||||||
<string>E123,E226,E24</string>
|
<string>E123,E226,E24,C101</string>
|
||||||
</value>
|
</value>
|
||||||
<key>
|
<key>
|
||||||
<string>FixCodes</string>
|
<string>FixCodes</string>
|
||||||
@@ -417,6 +452,12 @@
|
|||||||
<value>
|
<value>
|
||||||
<bool>False</bool>
|
<bool>False</bool>
|
||||||
</value>
|
</value>
|
||||||
|
<key>
|
||||||
|
<string>FutureChecker</string>
|
||||||
|
</key>
|
||||||
|
<value>
|
||||||
|
<string></string>
|
||||||
|
</value>
|
||||||
<key>
|
<key>
|
||||||
<string>HangClosing</string>
|
<string>HangClosing</string>
|
||||||
</key>
|
</key>
|
||||||
@@ -429,6 +470,24 @@
|
|||||||
<value>
|
<value>
|
||||||
<string></string>
|
<string></string>
|
||||||
</value>
|
</value>
|
||||||
|
<key>
|
||||||
|
<string>LineComplexity</string>
|
||||||
|
</key>
|
||||||
|
<value>
|
||||||
|
<int>15</int>
|
||||||
|
</value>
|
||||||
|
<key>
|
||||||
|
<string>LineComplexityScore</string>
|
||||||
|
</key>
|
||||||
|
<value>
|
||||||
|
<int>10</int>
|
||||||
|
</value>
|
||||||
|
<key>
|
||||||
|
<string>MaxCodeComplexity</string>
|
||||||
|
</key>
|
||||||
|
<value>
|
||||||
|
<int>10</int>
|
||||||
|
</value>
|
||||||
<key>
|
<key>
|
||||||
<string>MaxLineLength</string>
|
<string>MaxLineLength</string>
|
||||||
</key>
|
</key>
|
||||||
@@ -453,6 +512,12 @@
|
|||||||
<value>
|
<value>
|
||||||
<bool>False</bool>
|
<bool>False</bool>
|
||||||
</value>
|
</value>
|
||||||
|
<key>
|
||||||
|
<string>ValidEncodings</string>
|
||||||
|
</key>
|
||||||
|
<value>
|
||||||
|
<string>latin-1, utf-8</string>
|
||||||
|
</value>
|
||||||
</dict>
|
</dict>
|
||||||
</value>
|
</value>
|
||||||
</dict>
|
</dict>
|
||||||
|
|||||||
@@ -54,6 +54,13 @@ class RevPiOption(tkinter.Frame):
|
|||||||
"mqttwrite_outputs": 0,
|
"mqttwrite_outputs": 0,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
self.replace_ios_options = [
|
||||||
|
_("Do not use replace io file"),
|
||||||
|
_("Use static file from RevPiPyLoad"),
|
||||||
|
_("Use dynamic file from work directory"),
|
||||||
|
_("Give own path and filename"),
|
||||||
|
]
|
||||||
|
|
||||||
self.mrk_xmlmodask = False
|
self.mrk_xmlmodask = False
|
||||||
self.dorestart = False
|
self.dorestart = False
|
||||||
|
|
||||||
@@ -61,6 +68,25 @@ class RevPiOption(tkinter.Frame):
|
|||||||
self._createwidgets()
|
self._createwidgets()
|
||||||
self._loadappdata()
|
self._loadappdata()
|
||||||
|
|
||||||
|
def __state_replace_ios(self, text):
|
||||||
|
u"""Konfiguriert Werte für replace_io.
|
||||||
|
@param text: Ausgewählter Eintrag in Liste"""
|
||||||
|
selected_id = self.replace_ios_options.index(text)
|
||||||
|
|
||||||
|
# Preset value
|
||||||
|
if selected_id == 0:
|
||||||
|
self.var_replace_ios.set("")
|
||||||
|
elif selected_id == 1:
|
||||||
|
self.var_replace_ios.set("/etc/revpipyload/replace_ios.conf")
|
||||||
|
else:
|
||||||
|
self.var_replace_ios.set("replace_ios.conf")
|
||||||
|
|
||||||
|
# Set state of input field
|
||||||
|
self.txt_replace_ios["state"] = "normal" \
|
||||||
|
if self.xmlmodus >= 4 and \
|
||||||
|
selected_id == 3 \
|
||||||
|
else "disabled"
|
||||||
|
|
||||||
def _changesdone(self):
|
def _changesdone(self):
|
||||||
u"""Prüft ob sich die Einstellungen geändert haben.
|
u"""Prüft ob sich die Einstellungen geändert haben.
|
||||||
@return True, wenn min. eine Einstellung geändert wurde"""
|
@return True, wenn min. eine Einstellung geändert wurde"""
|
||||||
@@ -71,10 +97,13 @@ class RevPiOption(tkinter.Frame):
|
|||||||
str(self.dc.get("autoreloaddelay", 5)) or
|
str(self.dc.get("autoreloaddelay", 5)) or
|
||||||
self.var_zexit.get() != self.dc.get("zeroonexit", 0) or
|
self.var_zexit.get() != self.dc.get("zeroonexit", 0) or
|
||||||
self.var_zerr.get() != self.dc.get("zeroonerror", 0) or
|
self.var_zerr.get() != self.dc.get("zeroonerror", 0) or
|
||||||
|
self.var_replace_ios.get() != self.dc.get("replace_ios", "") or
|
||||||
# TODO: rtlevel (0)
|
# TODO: rtlevel (0)
|
||||||
self.var_startpy.get() != self.dc.get("plcprogram", "none.py") or
|
self.var_startpy.get() != self.dc.get("plcprogram", "none.py") or
|
||||||
self.var_startargs.get() != self.dc.get("plcarguments", "") or
|
self.var_startargs.get() != self.dc.get("plcarguments", "") or
|
||||||
self.var_pythonver.get() != self.dc.get("pythonversion", 3) or
|
self.var_pythonver.get() != self.dc.get("pythonversion", 3) or
|
||||||
|
self.var_plcworkdir_set_uid.get() != \
|
||||||
|
self.dc.get("plcworkdir_set_uid") or
|
||||||
self.var_slave.get() != self.dc.get("plcslave", 0) or
|
self.var_slave.get() != self.dc.get("plcslave", 0) or
|
||||||
self.var_slaveacl.get() != self.dc.get("plcslaveacl", "") or
|
self.var_slaveacl.get() != self.dc.get("plcslaveacl", "") or
|
||||||
self.var_mqtton.get() != self.dc.get("mqtt", 0) or
|
self.var_mqtton.get() != self.dc.get("mqtt", 0) or
|
||||||
@@ -133,6 +162,9 @@ class RevPiOption(tkinter.Frame):
|
|||||||
|
|
||||||
# Gruppe Start/Stop
|
# Gruppe Start/Stop
|
||||||
stst = tkinter.LabelFrame(self)
|
stst = tkinter.LabelFrame(self)
|
||||||
|
stst.columnconfigure(0, weight=1)
|
||||||
|
stst.columnconfigure(2, weight=1)
|
||||||
|
stst.columnconfigure(3, weight=1)
|
||||||
stst["text"] = _("Start / Stop behavior")
|
stst["text"] = _("Start / Stop behavior")
|
||||||
stst.grid(columnspan=2, pady=2, sticky="we")
|
stst.grid(columnspan=2, pady=2, sticky="we")
|
||||||
|
|
||||||
@@ -141,82 +173,112 @@ class RevPiOption(tkinter.Frame):
|
|||||||
self.var_reload_delay = tkinter.StringVar(stst)
|
self.var_reload_delay = tkinter.StringVar(stst)
|
||||||
self.var_zexit = tkinter.BooleanVar(stst)
|
self.var_zexit = tkinter.BooleanVar(stst)
|
||||||
self.var_zerr = tkinter.BooleanVar(stst)
|
self.var_zerr = tkinter.BooleanVar(stst)
|
||||||
|
self.var_replace_ios = tkinter.StringVar(stst)
|
||||||
|
self.var_replace_ios_options = tkinter.StringVar(stst)
|
||||||
|
|
||||||
|
# Row 0
|
||||||
ckb_start = tkinter.Checkbutton(stst)
|
ckb_start = tkinter.Checkbutton(stst)
|
||||||
ckb_start["text"] = _("Start program automatically")
|
ckb_start["text"] = _("Start program automatically")
|
||||||
ckb_start["state"] = xmlstate
|
ckb_start["state"] = xmlstate
|
||||||
ckb_start["variable"] = self.var_start
|
ckb_start["variable"] = self.var_start
|
||||||
ckb_start.grid(columnspan=2, **cpadw)
|
ckb_start.grid(columnspan=3, **cpadw)
|
||||||
|
|
||||||
|
# Row 1
|
||||||
ckb_reload = tkinter.Checkbutton(stst)
|
ckb_reload = tkinter.Checkbutton(stst)
|
||||||
ckb_reload["text"] = _("Restart program after exit")
|
ckb_reload["text"] = _("Restart program after exit")
|
||||||
ckb_reload["state"] = xmlstate
|
ckb_reload["state"] = xmlstate
|
||||||
ckb_reload["variable"] = self.var_reload
|
ckb_reload["variable"] = self.var_reload
|
||||||
ckb_reload.grid(columnspan=2, **cpadw)
|
ckb_reload.grid(columnspan=3, **cpadw)
|
||||||
|
|
||||||
|
# Row 2
|
||||||
lbl = tkinter.Label(stst)
|
lbl = tkinter.Label(stst)
|
||||||
lbl["text"] = _("Restart after n seconds of delay")
|
lbl["text"] = _("Restart after n seconds of delay")
|
||||||
lbl.grid(**cpadw)
|
lbl.grid(columnspan=2, **cpadw)
|
||||||
sbx = tkinter.Spinbox(stst)
|
sbx = tkinter.Spinbox(stst)
|
||||||
sbx["to"] = 60
|
sbx["to"] = 60
|
||||||
sbx["from_"] = 5
|
sbx["from_"] = 5
|
||||||
sbx["textvariable"] = self.var_reload_delay
|
sbx["textvariable"] = self.var_reload_delay
|
||||||
sbx["width"] = 4
|
sbx["width"] = 4
|
||||||
sbx.grid(column=1, row=2, **cpade)
|
sbx.grid(column=2, row=2, **cpade)
|
||||||
|
|
||||||
|
# Row 3
|
||||||
lbl = tkinter.Label(stst)
|
lbl = tkinter.Label(stst)
|
||||||
lbl["text"] = _("Set process image to NULL if program terminates...")
|
lbl["text"] = _("Set process image to NULL if program terminates...")
|
||||||
lbl.grid(columnspan=2, **cpadw)
|
lbl.grid(columnspan=3, **cpadw)
|
||||||
|
|
||||||
|
# Row 4
|
||||||
ckb_zexit = tkinter.Checkbutton(stst, justify="left")
|
ckb_zexit = tkinter.Checkbutton(stst, justify="left")
|
||||||
ckb_zexit["state"] = xmlstate
|
ckb_zexit["state"] = xmlstate
|
||||||
ckb_zexit["text"] = _("... successfully")
|
ckb_zexit["text"] = _("... successfully")
|
||||||
ckb_zexit["variable"] = self.var_zexit
|
ckb_zexit["variable"] = self.var_zexit
|
||||||
ckb_zexit.grid(**cpadw)
|
ckb_zexit.grid(column=1, **cpadw)
|
||||||
|
|
||||||
|
# Row 5
|
||||||
ckb_zerr = tkinter.Checkbutton(stst, justify="left")
|
ckb_zerr = tkinter.Checkbutton(stst, justify="left")
|
||||||
ckb_zerr["state"] = xmlstate
|
ckb_zerr["state"] = xmlstate
|
||||||
ckb_zerr["text"] = _("... with errors")
|
ckb_zerr["text"] = _("... with errors")
|
||||||
ckb_zerr["variable"] = self.var_zerr
|
ckb_zerr["variable"] = self.var_zerr
|
||||||
ckb_zerr.grid(**cpadw)
|
ckb_zerr.grid(column=1, **cpadw)
|
||||||
|
|
||||||
|
# Row 6
|
||||||
|
lbl = tkinter.Label(stst)
|
||||||
|
lbl["text"] = _("Replace IO file:")
|
||||||
|
lbl.grid(row=6, **cpadw)
|
||||||
|
|
||||||
|
opt = tkinter.OptionMenu(
|
||||||
|
stst, self.var_replace_ios_options, *self.replace_ios_options,
|
||||||
|
command=self.__state_replace_ios
|
||||||
|
)
|
||||||
|
opt["state"] = xmlstate
|
||||||
|
opt["width"] = 30
|
||||||
|
opt.grid(row=6, column=1, columnspan=2, **cpadwe)
|
||||||
|
|
||||||
|
# Row 7
|
||||||
|
self.txt_replace_ios = tkinter.Entry(stst)
|
||||||
|
self.txt_replace_ios["state"] = xmlstate
|
||||||
|
self.txt_replace_ios["textvariable"] = self.var_replace_ios
|
||||||
|
self.txt_replace_ios.grid(column=1, columnspan=2, **cpadwe)
|
||||||
|
|
||||||
# Gruppe Programm
|
# Gruppe Programm
|
||||||
prog = tkinter.LabelFrame(self)
|
prog = tkinter.LabelFrame(self)
|
||||||
prog.columnconfigure(0, weight=1)
|
prog.columnconfigure(0, weight=1)
|
||||||
prog.columnconfigure(1, weight=1)
|
prog.columnconfigure(1, weight=1)
|
||||||
|
prog.columnconfigure(2, weight=1)
|
||||||
prog["text"] = _("PLC program")
|
prog["text"] = _("PLC program")
|
||||||
prog.grid(columnspan=2, pady=2, sticky="we")
|
prog.grid(columnspan=2, pady=2, sticky="we")
|
||||||
|
|
||||||
self.var_pythonver = tkinter.IntVar(prog)
|
self.var_pythonver = tkinter.IntVar(prog)
|
||||||
self.var_startpy = tkinter.StringVar(prog)
|
self.var_startpy = tkinter.StringVar(prog)
|
||||||
self.var_startargs = tkinter.StringVar(prog)
|
self.var_startargs = tkinter.StringVar(prog)
|
||||||
|
self.var_plcworkdir_set_uid = tkinter.BooleanVar(prog)
|
||||||
|
|
||||||
self.var_pythonver.set(3)
|
self.var_pythonver.set(3)
|
||||||
|
|
||||||
|
# Row 0
|
||||||
lbl = tkinter.Label(prog)
|
lbl = tkinter.Label(prog)
|
||||||
lbl["text"] = _("Python version") + ":"
|
lbl["text"] = _("Python version") + ":"
|
||||||
lbl.grid(columnspan=2, row=0, **cpadw)
|
lbl.grid(row=0, **cpadw)
|
||||||
|
|
||||||
rbn = tkinter.Radiobutton(prog)
|
rbn = tkinter.Radiobutton(prog)
|
||||||
rbn["state"] = xmlstate
|
rbn["state"] = xmlstate
|
||||||
rbn["text"] = "Python2"
|
rbn["text"] = "Python2"
|
||||||
rbn["value"] = 2
|
rbn["value"] = 2
|
||||||
rbn["variable"] = self.var_pythonver
|
rbn["variable"] = self.var_pythonver
|
||||||
rbn.grid(column=0, row=1, **cpade)
|
rbn.grid(row=0, column=1, **cpade)
|
||||||
|
|
||||||
rbn = tkinter.Radiobutton(prog)
|
rbn = tkinter.Radiobutton(prog)
|
||||||
rbn["state"] = xmlstate
|
rbn["state"] = xmlstate
|
||||||
rbn["text"] = "Python3"
|
rbn["text"] = "Python3"
|
||||||
rbn["value"] = 3
|
rbn["value"] = 3
|
||||||
rbn["variable"] = self.var_pythonver
|
rbn["variable"] = self.var_pythonver
|
||||||
rbn.grid(column=1, row=1, **cpadw)
|
rbn.grid(row=0, column=2, **cpadw)
|
||||||
|
|
||||||
# Row 2
|
# Row 1
|
||||||
lbl = tkinter.Label(prog)
|
lbl = tkinter.Label(prog)
|
||||||
lbl["text"] = _("Python PLC program name")
|
lbl["text"] = _("Python PLC program name")
|
||||||
lbl.grid(columnspan=2, **cpadw)
|
lbl.grid(columnspan=3, **cpadw)
|
||||||
|
|
||||||
# Row 3
|
# Row 2
|
||||||
lst = self.xmlcli.get_filelist()
|
lst = self.xmlcli.get_filelist()
|
||||||
lst.sort()
|
lst.sort()
|
||||||
if ".placeholder" in lst:
|
if ".placeholder" in lst:
|
||||||
@@ -227,17 +289,23 @@ class RevPiOption(tkinter.Frame):
|
|||||||
prog, self.var_startpy, *lst
|
prog, self.var_startpy, *lst
|
||||||
)
|
)
|
||||||
opt_startpy["state"] = xmlstate
|
opt_startpy["state"] = xmlstate
|
||||||
opt_startpy.grid(columnspan=2, **cpadwe)
|
opt_startpy.grid(columnspan=3, **cpadwe)
|
||||||
|
|
||||||
# Row 4
|
# Row 3
|
||||||
lbl = tkinter.Label(prog)
|
lbl = tkinter.Label(prog)
|
||||||
lbl["text"] = _("Program arguments")
|
lbl["text"] = _("Program arguments:")
|
||||||
lbl.grid(columnspan=2, **cpadw)
|
lbl.grid(**cpadw)
|
||||||
|
|
||||||
# Row 5
|
|
||||||
txt = tkinter.Entry(prog)
|
txt = tkinter.Entry(prog)
|
||||||
txt["textvariable"] = self.var_startargs
|
txt["textvariable"] = self.var_startargs
|
||||||
txt.grid(columnspan=2, **cpadw)
|
txt.grid(row=3, column=1, columnspan=2, **cpadwe)
|
||||||
|
|
||||||
|
# Row 4
|
||||||
|
ckb = tkinter.Checkbutton(prog)
|
||||||
|
ckb["text"] = _("Set write access to workdirectory")
|
||||||
|
ckb["state"] = xmlstate
|
||||||
|
ckb["variable"] = self.var_plcworkdir_set_uid
|
||||||
|
ckb.grid(columnspan=2, **cpadw)
|
||||||
|
|
||||||
# Gruppe Services
|
# Gruppe Services
|
||||||
services = tkinter.LabelFrame(self)
|
services = tkinter.LabelFrame(self)
|
||||||
@@ -338,11 +406,24 @@ class RevPiOption(tkinter.Frame):
|
|||||||
self.var_reload_delay.set(self.dc.get("autoreloaddelay", 5))
|
self.var_reload_delay.set(self.dc.get("autoreloaddelay", 5))
|
||||||
self.var_zexit.set(self.dc.get("zeroonexit", 0))
|
self.var_zexit.set(self.dc.get("zeroonexit", 0))
|
||||||
self.var_zerr.set(self.dc.get("zeroonerror", 0))
|
self.var_zerr.set(self.dc.get("zeroonerror", 0))
|
||||||
|
replace_ios = self.dc.get("replace_ios", "")
|
||||||
|
self.var_replace_ios.set(replace_ios)
|
||||||
|
if replace_ios == "":
|
||||||
|
self.var_replace_ios_options.set(self.replace_ios_options[0])
|
||||||
|
elif replace_ios == "/etc/revpipyload/replace_ios.conf":
|
||||||
|
self.var_replace_ios_options.set(self.replace_ios_options[1])
|
||||||
|
elif replace_ios == "replace_ios.conf":
|
||||||
|
self.var_replace_ios_options.set(self.replace_ios_options[2])
|
||||||
|
else:
|
||||||
|
self.var_replace_ios_options.set(self.replace_ios_options[3])
|
||||||
|
self.__state_replace_ios(self.var_replace_ios_options.get())
|
||||||
# TODO: rtlevel (0)
|
# TODO: rtlevel (0)
|
||||||
|
|
||||||
self.var_startpy.set(self.dc.get("plcprogram", "none.py"))
|
self.var_startpy.set(self.dc.get("plcprogram", "none.py"))
|
||||||
self.var_startargs.set(self.dc.get("plcarguments", ""))
|
self.var_startargs.set(self.dc.get("plcarguments", ""))
|
||||||
self.var_pythonver.set(self.dc.get("pythonversion", 3))
|
self.var_pythonver.set(self.dc.get("pythonversion", 3))
|
||||||
|
self.var_plcworkdir_set_uid.set(
|
||||||
|
self.dc.get("plcworkdir_set_uid", False))
|
||||||
|
|
||||||
# MQTT Einstellungen laden
|
# MQTT Einstellungen laden
|
||||||
self.var_mqtton.set(self.dc.get("mqtt", 0))
|
self.var_mqtton.set(self.dc.get("mqtt", 0))
|
||||||
@@ -388,9 +469,12 @@ class RevPiOption(tkinter.Frame):
|
|||||||
self.dc["plcprogram"] = self.var_startpy.get()
|
self.dc["plcprogram"] = self.var_startpy.get()
|
||||||
self.dc["plcarguments"] = self.var_startargs.get()
|
self.dc["plcarguments"] = self.var_startargs.get()
|
||||||
self.dc["pythonversion"] = self.var_pythonver.get()
|
self.dc["pythonversion"] = self.var_pythonver.get()
|
||||||
|
self.dc["plcworkdir_set_uid"] = \
|
||||||
|
int(self.var_plcworkdir_set_uid.get())
|
||||||
# TODO: rtlevel (0)
|
# TODO: rtlevel (0)
|
||||||
self.dc["zeroonerror"] = int(self.var_zerr.get())
|
self.dc["zeroonerror"] = int(self.var_zerr.get())
|
||||||
self.dc["zeroonexit"] = int(self.var_zexit.get())
|
self.dc["zeroonexit"] = int(self.var_zexit.get())
|
||||||
|
self.dc["replace_ios"] = self.var_replace_ios.get()
|
||||||
|
|
||||||
# MQTT Settings
|
# MQTT Settings
|
||||||
self.dc["mqtt"] = int(self.var_mqtton.get())
|
self.dc["mqtt"] = int(self.var_mqtton.get())
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ u"""RevPiPyControl main program."""
|
|||||||
__author__ = "Sven Sager"
|
__author__ = "Sven Sager"
|
||||||
__copyright__ = "Copyright (C) 2018 Sven Sager"
|
__copyright__ = "Copyright (C) 2018 Sven Sager"
|
||||||
__license__ = "GPLv3"
|
__license__ = "GPLv3"
|
||||||
__version__ = "0.7.2"
|
__version__ = "0.8.0"
|
||||||
|
|
||||||
import revpicheckclient
|
import revpicheckclient
|
||||||
import revpidevelop
|
import revpidevelop
|
||||||
|
|||||||
2
setup.py
2
setup.py
@@ -23,7 +23,7 @@ globsetup = {
|
|||||||
"author_email": "akira@narux.de",
|
"author_email": "akira@narux.de",
|
||||||
"url": "https://revpimodio.org/revpipyplc/",
|
"url": "https://revpimodio.org/revpipyplc/",
|
||||||
"license": "LGPLv3",
|
"license": "LGPLv3",
|
||||||
"version": "0.7.2",
|
"version": "0.8.0",
|
||||||
|
|
||||||
"name": "revpipycontrol",
|
"name": "revpipycontrol",
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user