Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 11 Apr 2019 08:40:17 +0200] rev 2590
merged
Edouard Tisserant [Wed, 10 Apr 2019 14:11:52 +0200] rev 2589
Nicer name than 'var_name' for variable auto-renaming in Modbus
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 10 Apr 2019 21:36:12 +0200] rev 2588
Allow starting IDE without sslpsk module installed. Fail when connecting to PYROS if sslpsk unavailable.
Edouard Tisserant [Tue, 09 Apr 2019 14:08:44 +0200] rev 2587
Fixed preview drawing/refresh problem in sfc/ld/fbd graphical element creation dialogs on windows (introduced in 9c5f835b031e, continuation of 9622418ac28c)
Edouard Tisserant [Tue, 09 Apr 2019 13:18:51 +0200] rev 2586
pep8 white spaces
Edouard Tisserant [Tue, 09 Apr 2019 13:13:27 +0200] rev 2585
Now default_evaluator is provided by runtime package
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 09 Apr 2019 13:08:03 +0200] rev 2584
merge
Edouard Tisserant [Tue, 09 Apr 2019 13:05:35 +0200] rev 2583
Continue fixing deadlock of previous commit, this time occuring when waiting for 'cleanup' python runtime call to finish. Now 'init' and 'cleanup' python runtime calls are called directly from main thread, and aren't anymore invoked in the context of wxMainloop and/or twisted reactor.
Edouard Tisserant [Tue, 09 Apr 2019 09:13:55 +0200] rev 2582
Fix deadlock when indirectly calling PLCObject's evaluator() from twisted of wx event loops. Was freezing while transfer/start/stop through Wamp. Serialize all PLCObject's call to self.PythonRuntimeCall into the same PythonThread thread.
Edouard Tisserant [Mon, 08 Apr 2019 12:53:18 +0200] rev 2581
Fixed Wamp assertion because of unexpected type
Edouard Tisserant [Thu, 28 Mar 2019 13:09:11 +0100] rev 2580
Enhanced statistics display code, used it and saw no more noticable leak while editing. Closing branch.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 07 Apr 2019 21:08:07 +0200] rev 2579
Conform to pep8 and pylint :
pep8 version: 2.3.1
./ConfigTreeNode.py:130:49: E231 missing whitespace after ','
./editors/Viewer.py:643:24: E128 continuation line under-indented for visual indent
./editors/Viewer.py:670:12: E221 multiple spaces before operator
./editors/Viewer.py:671:13: E221 multiple spaces before operator
./editors/Viewer.py:2138:52: E203 whitespace before ':'
./editors/Viewer.py:2139:66: W291 trailing whitespace
./controls/VariablePanel.py:154:25: E231 missing whitespace after ','
./controls/LocationCellEditor.py:88:1: W293 blank line contains whitespace
./controls/LocationCellEditor.py:191:25: E221 multiple spaces before operator
./controls/LocationCellEditor.py:200:17: E128 continuation line under-indented for visual indent
pylint 1.8.3,
************* Module controls.LocationCellEditor
controls/LocationCellEditor.py:200: [C0330(bad-continuation), ] Wrong continued indentation (add 9 spaces).
_("Selected location is identical to previous one"))
^ |
************* Module controls.VariablePanel
controls/VariablePanel.py:154: [E1601(print-statement), VariableTable.SetValue] print statement used
************* Module editors.Viewer
editors/Viewer.py:643: [C0330(bad-continuation), ] Wrong continued indentation (add 1 space).
self.GetAddMenuCallBack(self.AddNewComment))
^|
editors/Viewer.py:598: [W0612(unused-variable), Viewer.AddDivergenceMenuItems] Unused variable 'add_branch'
editors/Viewer.py:1655: [E0602(undefined-variable), Viewer.PopupConnectionMenu] Undefined variable 'variable_type'
editors/Viewer.py:1649: [W0612(unused-variable), Viewer.PopupConnectionMenu] Unused variable 'connection_type'
************* Module connectors.PYRO.PSK_Adapter
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 07 Apr 2019 16:23:49 +0200] rev 2578
Merged
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 03 Apr 2019 06:31:34 +0000] rev 2577
Fix typo in README.md
Closes #80
Edouard Tisserant [Thu, 04 Apr 2019 14:00:17 +0200] rev 2576
merged rename_on_location_change branch
Edouard Tisserant [Thu, 04 Apr 2019 13:59:22 +0200] rev 2575
Rename checkbox and immediately apply.
Added a checkbox in Location selection dialog (saved as user settings) to let user choose if variable is being renamed.
Also forced closing celle editor once new location is selected.
Edouard Tisserant [Wed, 03 Apr 2019 13:20:28 +0200] rev 2574
LocationCellEditor use better source for variable name replacement, and validate variable name before applying it or complains otherwise.
Edouard Tisserant [Tue, 02 Apr 2019 09:46:58 +0200] rev 2573
LocationCellEditor now systematically change variable name according to name given by CTN, calls VariablePanel' OnVariableNameChange to update POU accordingly.
Edouard Tisserant [Thu, 28 Mar 2019 14:06:53 +0100] rev 2572
Fix problem introduced in 9c5f835b031e : Exception in LDPowerRailDialog.py because of change in OnPaint/RefreshView/DrawPreview.
Edouard Tisserant [Thu, 28 Mar 2019 13:39:58 +0100] rev 2571
Fixed RecentProjectMenu in BeremizIDE.py broken by untested changes in wx.NewID_abuse_fix.
Edouard Tisserant [Thu, 28 Mar 2019 13:10:26 +0100] rev 2570
Merged wx.NewID_abuse_fix branch
Edouard Tisserant [Thu, 28 Mar 2019 13:08:20 +0100] rev 2569
More wx.NewID abuse removal. This time BeremizIDE.py was cleaned.
Edouard Tisserant [Thu, 28 Mar 2019 09:19:30 +0100] rev 2568
Merged more of wx.NewID_abuse_fix branch
Edouard Tisserant [Wed, 27 Mar 2019 14:10:39 +0100] rev 2567
More wx.NewID abuse removal. All Viewer.py got cured.
Edouard Tisserant [Wed, 27 Mar 2019 13:08:51 +0100] rev 2566
More wx.NewID abuse removal. This one was apparently silently unbinding toolbar butons when running out of mew wx IDs.
Edouard Tisserant [Tue, 26 Mar 2019 13:54:36 +0100] rev 2565
Dyslectic typos
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 07 Jan 2019 20:32:40 +0000] rev 2564
Close branch py3-fix.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 27 Jul 2017 20:34:38 +0000] rev 2563
Close branch 1.1 Korean release.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 18 Mar 2019 09:12:44 +0000] rev 2562
Close branch generate-button.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 07 Jan 2019 23:55:05 +0300] rev 2561
close #2486 head
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 07 Jan 2019 20:33:11 +0000] rev 2560
Close branch nevow_service_rework.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 07 Jan 2019 20:32:32 +0000] rev 2559
Close branch wx3-fix.
Edouard Tisserant [Tue, 26 Mar 2019 11:08:32 +0100] rev 2558
Intermediate merge of wx.NewID_abuse_fix branch but kept debug code in the branch. This is still work in progress, banch is NOT closed.
Edouard Tisserant [Tue, 26 Mar 2019 11:03:57 +0100] rev 2557
Continued wx.NewID abuse removal in Viewer.py : Added AppendItem to use instead of AppendMenu, made examples with AddBlockPinMenuItems and AddAlignmentMenuItems
Edouard Tisserant [Tue, 26 Mar 2019 09:43:51 +0100] rev 2556
Continued wx.NewID abuse removal in Viewer.py : get rid of one call to AppendMenu method, having no real purpose apparently. To be continued.
Edouard Tisserant [Tue, 26 Mar 2019 09:41:09 +0100] rev 2555
Start fixing wx.NewId abuse in viewer.py. This shows how to avoid using AppendMenu() function, definitely useless.
Edouard Tisserant [Mon, 25 Mar 2019 14:59:54 +0100] rev 2554
VariablePanel's menu do not waste Wx IDs anymore (directly binds wx objects rather than crating new ID wit wx.NewId)
Edouard Tisserant [Tue, 26 Mar 2019 09:48:45 +0100] rev 2553
Instrument IDE code to find code abusing wx.NewId.
Edouard Tisserant [Fri, 22 Mar 2019 14:00:35 +0100] rev 2552
Fix error when searching accross project. Collection of result wasn't initialized and was failing in case some CTN was returning no result.
Edouard Tisserant [Fri, 22 Mar 2019 13:45:19 +0100] rev 2551
Make spaghetti-code-quality great again.
Edouard Tisserant [Fri, 22 Mar 2019 13:26:31 +0100] rev 2550
Merged
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 18 Mar 2019 12:20:46 +0300] rev 2549
Add Docker files to build containers to run automated tests
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 18 Mar 2019 12:10:36 +0300] rev 2548
merge
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 18 Mar 2019 12:09:41 +0300] rev 2547
check_source.sh: fix sed error: -e expression #1, char 25: Invalid range end
Warning happen only if old sed (4.4) is used.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 18 Mar 2019 12:07:49 +0300] rev 2546
Fix pylint warning [C0325(superfluous-parens), ] Unnecessary parens after u'if' keyword
************* Module runtime.PLCObject
runtime/PLCObject.py:609: [C0325(superfluous-parens), ] Unnecessary parens after u'if' keyword
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 13 Mar 2019 15:58:34 +0300] rev 2545
Update Beremiz dependencies because of added PYROS:// support
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 13 Mar 2019 15:54:17 +0300] rev 2544
Fix header and convert comments to docstrings in PSK_Adapter
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 13 Mar 2019 15:43:45 +0300] rev 2543
Fix Pyro work with SSL wrapper (sslpsk)
Following error was shown in Beremiz console:
PYRO connecting to URI : PYROS://127.0.0.1:3001#beremiz
Exception while connecting to 'PYROS://127.0.0.1:3001#beremiz': non-zero flags not allowed in calls to recv() on <class 'ssl.SSLSocket'>
Connection failed to PYROS://127.0.0.1:3001#beremiz!
Reason is that Pyro calls socket recv() with MSGWAITALL flag, that causes ValueError exception.
https://docs.python.org/2/library/ssl.html
recv(), recv_into() (but passing a non-zero flags argument is not allowed)
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 13 Mar 2019 14:27:24 +0300] rev 2542
Fix crash in runtime if PSK secret is missing
./Beremiz_service.py -s $PWD/psk2.txt -n beremiz /tmp/beremiz
Beremiz_service: 1.2-1378c18402c3+
Traceback (most recent call last):
File "./Beremiz_service.py", line 511, in <module>
ensurePSK(servicename, PSKpath)
File "/home/developer/WorkData/PLC/beremiz/beremiz/runtime/Stunnel.py", line 32, in ensurePSK
PSKgen(ID, PSKpath)
File "/home/developer/WorkData/PLC/beremiz/beremiz/runtime/Stunnel.py", line 23, in PSKgen
call(restart_stunnel_cmdline)
File "/home/developer/WorkData/PLC/beremiz/beremiz/runtime/spawn_subprocess.py", line 116, in call
pid = posix_spawn.posix_spawnp(cmd[0], cmd)
File "/home/developer/.local/lib/python2.7/site-packages/posix_spawn/_impl.py", line 120, in posix_spawnp
return _posix_spawn(lib.posix_spawnp, *args, **kwargs)
File "/home/developer/.local/lib/python2.7/site-packages/posix_spawn/_impl.py", line 111, in _posix_spawn
_check_error(res, path)
File "/home/developer/.local/lib/python2.7/site-packages/posix_spawn/_impl.py", line 10, in _check_error
raise OSError(errno, os.strerror(errno), path)
OSError: [Errno 2] No such file or directory: '/etc/init.d/S50stunnel'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 13 Mar 2019 14:14:31 +0300] rev 2541
Update build instruction for BACNet in README
in r3189 Steve added new feature to bacnet-stack: network port - to
access configuration and properties of network ports of a device.
https://sourceforge.net/p/bacnet/code/3189/
It's not implemented by Beremiz.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 13 Mar 2019 14:11:13 +0300] rev 2540
Replace md5 module with hashlib
fix following pylint error:
************* Module connectors.ConnectorBase
connectors/ConnectorBase.py:7: [W1648(bad-python3-import), ] Module moved in Python 3
************* Module runtime.PLCObject
runtime/PLCObject.py:33: [W1648(bad-python3-import), ] Module moved in Python 3
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 13 Mar 2019 11:51:40 +0300] rev 2539
Remove execute attributes from runtime/PLCObject.py
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 13 Mar 2019 11:49:46 +0300] rev 2538
Fix typo
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 13 Mar 2019 11:47:03 +0300] rev 2537
Fix various pylint and pep8 errors
Check basic code-style problems for PEP-8
pep8 version: 2.4.0
./connectors/PYRO/__init__.py:57:43: E261 at least two spaces before inline comment
./connectors/SchemeEditor.py:29:21: E128 continuation line under-indented for visual indent
./controls/IDBrowser.py:101:23: E127 continuation line over-indented for visual indent
./controls/IDBrowser.py:102:23: E127 continuation line over-indented for visual indent
Check for problems using pylint ...
No config file found, using default configuration
pylint 1.9.4,
astroid 1.6.5
Python 2.7.16rc1 (default, Feb 18 2019, 11:05:09)
[GCC 8.2.0]
Use multiple threads for pylint
Using config file /home/developer/WorkData/PLC/beremiz/beremiz/.pylint
************* Module connectors.PYRO_dialog
connectors/PYRO_dialog.py:9: [W0611(unused-import), ] Unused import wx
************* Module connectors
connectors/__init__.py:32: [W1652(deprecated-types-field), ] Accessing a deprecated fields on the types module
connectors/__init__.py:32: [C0411(wrong-import-order), ] standard import "from types import ClassType" should be placed before "from connectors.ConnectorBase import ConnectorBase"
************* Module connectors.PYRO.PSK_Adapter
connectors/PYRO/PSK_Adapter.py:7: [C0411(wrong-import-order), ] standard import "import ssl" should be placed before "import sslpsk"
************* Module connectors.SchemeEditor
connectors/SchemeEditor.py:29: [C0330(bad-continuation), ] Wrong continued indentation (add 1 space).
wx.ALIGN_CENTER_VERTICAL),
^|
connectors/SchemeEditor.py:42: [W0631(undefined-loop-variable), SchemeEditor.__init__] Using possibly undefined loop variable 'tag'
************* Module runtime.WampClient
runtime/WampClient.py:138: [W1612(unicode-builtin), WampSession.onJoin] unicode built-in referenced
runtime/WampClient.py:154: [W1612(unicode-builtin), WampSession.publishWithOwnID] unicode built-in referenced
runtime/WampClient.py:346: [W1612(unicode-builtin), PublishEvent] unicode built-in referenced
runtime/WampClient.py:351: [W1612(unicode-builtin), PublishEventWithOwnID] unicode built-in referenced
runtime/WampClient.py:31: [W0611(unused-import), ] Unused str imported from builtins as text
************* Module runtime.PLCObject
runtime/PLCObject.py:35: [W1648(bad-python3-import), ] Module moved in Python 3
runtime/PLCObject.py:35: [C0411(wrong-import-order), ] standard import "import md5" should be placed before "from six.moves import xrange"
runtime/PLCObject.py:36: [C0411(wrong-import-order), ] standard import "from tempfile import mkstemp" should be placed before "from six.moves import xrange"
runtime/PLCObject.py:37: [C0411(wrong-import-order), ] standard import "import shutil" should be placed before "from six.moves import xrange"
runtime/PLCObject.py:38: [C0411(wrong-import-order), ] standard import "from functools import wraps, partial" should be placed before "from six.moves import xrange"
************* Module runtime.Worker
runtime/Worker.py:12: [W1648(bad-python3-import), ] Module moved in Python 3
************* Module runtime.spawn_subprocess
runtime/spawn_subprocess.py:125: [C0325(superfluous-parens), ] Unnecessary parens after 'print' keyword
runtime/spawn_subprocess.py:130: [C0325(superfluous-parens), ] Unnecessary parens after 'print' keyword
runtime/spawn_subprocess.py:125: [E1601(print-statement), ] print statement used
runtime/spawn_subprocess.py:130: [E1601(print-statement), ] print statement used
************* Module controls.IDBrowser
controls/IDBrowser.py:101: [C0330(bad-continuation), ] Wrong continued indentation (remove 5 spaces).
if self.isManager
| ^
controls/IDBrowser.py:102: [C0330(bad-continuation), ] Wrong continued indentation (remove 5 spaces).
else dv.DATAVIEW_CELL_INERT),
| ^
************* Module Beremiz_service
Beremiz_service.py:34: [W0611(unused-import), ] Unused import __builtin__
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 13 Mar 2019 10:19:30 +0300] rev 2536
Fix invalid python3 syntax
Syntax checking using python3 ...
Python 3.7.2+
File "./connectors/PYRO/__init__.py", line 76
except Exception, e:
^
SyntaxError: invalid syntax
Syntax error in ./connectors/PYRO/__init__.py
File "./connectors/PYRO/PSK_Adapter.py", line 40
except ProtocolError, x:
^
SyntaxError: invalid syntax
Syntax error in ./s.py
File "./runtime/Worker.py", line 67
raise _job.exc_info[0], _job.exc_info[1], _job.exc_info[2]
^
SyntaxError: invalid syntax
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 13 Mar 2019 10:02:11 +0300] rev 2535
Exclude pyjslib.py from python3 syntax correction check
pyjs doesn't support python3 and it's unmaintained.
async is a new keyword introduced in python 3.7.
./tests/tools/check_source.sh
Syntax checking using python3 ...
Python 3.7.2+
Syntax error in ./runtime/Worker.py
File "./svgui/pyjs/lib/pyjslib.py", line 24
def import_module(path, parent_module, module_name, dynamic=1, async=False):
^
SyntaxError: invalid syntax