# HG changeset patch # User Edouard Tisserant # Date 1695916563 -7200 # Node ID 832bcf1b5b6030faff074e85271423910f73d9f7 # Parent 3922024076b3da446834c86549475a93ed9ccbfa Runtime/win32: no sys.stdout with pythonw.exe diff -r 3922024076b3 -r 832bcf1b5b60 Beremiz_service.py --- a/Beremiz_service.py Mon Aug 07 18:17:12 2023 +0200 +++ b/Beremiz_service.py Thu Sep 28 17:56:03 2023 +0200 @@ -558,8 +558,9 @@ # Beremiz IDE detects LOCAL:// runtime is ready by looking # for self.workdir in the daemon's stdout. - sys.stdout.write(_("Current working directory :") + WorkingDir + "\n") - sys.stdout.flush() + if sys.stdout: + sys.stdout.write(_("Current working directory :") + WorkingDir + "\n") + sys.stdout.flush() runtime.GetPLCObjectSingleton().AutoLoad(autostart) diff -r 3922024076b3 -r 832bcf1b5b60 exemples/python/plc.xml --- a/exemples/python/plc.xml Mon Aug 07 18:17:12 2023 +0200 +++ b/exemples/python/plc.xml Thu Sep 28 17:56:03 2023 +0200 @@ -1,1678 +1,1678 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 'sys.stdout.write("Hello world\n")' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - pytest_var2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 'sys.stdout.write("FBID :"+str(FBID)+"\n")' - - - - - - - 'PLCBinary.Simple_C_Call(5678)' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 'MyPythonFunc(42)' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - pytest_var1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - mux1_sel - - - - - - - - - - - pytest_var3 - - - - - - - - - - - FromC - - - - - - - 23 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TestInput - - - - - - - - - - - TestOutput - - - - - - - - - - - FromInput - - - - - - - 10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Test_BCD_RESULT - - - - - - - Test_BCD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Test_DT - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Test_Date - - - - - - - - - - - Test_String - - - - - - - - - - - Test_Bool - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 'True' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Global_RS.Q1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - BOOL#TRUE - - - - - - - - - - - Global_RS.S - - - - - - - - - - - Global_RS.R1 - - - - - - - Global_RS.Q1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - BOOL#FALSE - - - - - - - - - - - Test_TOD_STRING - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Test_TOD - - - - - - - 42 - - - - - - - - - - - TOTO - - - - - - - - - - - - - TUTU - - - - - - - Second_Python_Var - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fefvsd - - - - - - - - - - - fefvsd - - - - - - - - - - - - - mux2_sel - - - - - - - - - - - - - - - - - - - - - - - - - Test_BCD_WRONG - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Test_BCD_WRONG_RESULT - - - - - - - - - - - - - - - - - Test_BCD_CONVERTED - - - - - - - - - - - - - - - - - - - Grumpf - - - - - - - BOOL#TRUE - - - - - - - Test_DT - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Test_Python_Var - - - - - - - 23 - - - - - - - - - - - - - - SomeVarName - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 'MyPrintFunction("Hello world\n")' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pytest_var2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 'MyPrintFunction("FBID :"+str(FBID)+"\n")' + + + + + + + 'PLCBinary.Simple_C_Call(5678)' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 'MyPythonFunc(42)' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pytest_var1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mux1_sel + + + + + + + + + + + pytest_var3 + + + + + + + + + + + FromC + + + + + + + 23 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + TestInput + + + + + + + + + + + TestOutput + + + + + + + + + + + FromInput + + + + + + + 10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test_BCD_RESULT + + + + + + + Test_BCD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test_DT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test_Date + + + + + + + + + + + Test_String + + + + + + + + + + + Test_Bool + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 'True' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Global_RS.Q1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + BOOL#TRUE + + + + + + + + + + + Global_RS.S + + + + + + + + + + + Global_RS.R1 + + + + + + + Global_RS.Q1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + BOOL#FALSE + + + + + + + + + + + Test_TOD_STRING + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test_TOD + + + + + + + 42 + + + + + + + + + + + TOTO + + + + + + + + + + + + + TUTU + + + + + + + Second_Python_Var + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + fefvsd + + + + + + + + + + + fefvsd + + + + + + + + + + + + + mux2_sel + + + + + + + + + + + + + + + + + + + + + + + + + Test_BCD_WRONG + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test_BCD_WRONG_RESULT + + + + + + + + + + + + + + + + + Test_BCD_CONVERTED + + + + + + + + + + + + + + + + + + + Grumpf + + + + + + + BOOL#TRUE + + + + + + + Test_DT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test_Python_Var + + + + + + + 23 + + + + + + + + + + + + + + SomeVarName + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 3922024076b3 -r 832bcf1b5b60 exemples/python/python@py_ext/pyfile.xml --- a/exemples/python/python@py_ext/pyfile.xml Mon Aug 07 18:17:12 2023 +0200 +++ b/exemples/python/python@py_ext/pyfile.xml Thu Sep 28 17:56:03 2023 +0200 @@ -1,69 +1,79 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + diff -r 3922024076b3 -r 832bcf1b5b60 runtime/PLCObject.py --- a/runtime/PLCObject.py Mon Aug 07 18:17:12 2023 +0200 +++ b/runtime/PLCObject.py Thu Sep 28 17:56:03 2023 +0200 @@ -62,8 +62,9 @@ def PLCprint(message): - sys.stdout.write("PLCobject : "+message+"\n") - sys.stdout.flush() + if sys.stdout: + sys.stdout.write("PLCobject : "+message+"\n") + sys.stdout.flush() def RunInMain(func): diff -r 3922024076b3 -r 832bcf1b5b60 runtime/PyroServer.py --- a/runtime/PyroServer.py Mon Aug 07 18:17:12 2023 +0200 +++ b/runtime/PyroServer.py Thu Sep 28 17:56:03 2023 +0200 @@ -73,7 +73,8 @@ if self._to_be_published(): print(_("Publishing service on local network")) - sys.stdout.flush() + if sys.stdout: + sys.stdout.flush() def PyroLoop(self, when_ready): if self._to_be_published():