Tue, 09 Jan 2018 14:52:56 +0100Set WAMP registration option so that reconnecting while earlier session still didn't timeout is possible (in case of connection lost, for example).
Edouard Tisserant [Tue, 09 Jan 2018 14:52:56 +0100] rev 1892
Set WAMP registration option so that reconnecting while earlier session still didn't timeout is possible (in case of connection lost, for example).

Tue, 09 Jan 2018 14:50:41 +0100More canonical overload of ReconnectingClientFactory (according twisted doc)
Edouard Tisserant [Tue, 09 Jan 2018 14:50:41 +0100] rev 1891
More canonical overload of ReconnectingClientFactory (according twisted doc)

Tue, 09 Jan 2018 14:42:23 +0100non significant print syntax change. ready for py3.
Edouard Tisserant [Tue, 09 Jan 2018 14:42:23 +0100] rev 1890
non significant print syntax change. ready for py3.

Tue, 09 Jan 2018 14:38:45 +0100whitespace cosmetic for pep8
Edouard Tisserant [Tue, 09 Jan 2018 14:38:45 +0100] rev 1889
whitespace cosmetic for pep8

Mon, 08 Jan 2018 11:09:02 +0100Added arbitrary timeout on Pyro, to force it to free memory after disconnect.
Edouard Tisserant [Mon, 08 Jan 2018 11:09:02 +0100] rev 1888
Added arbitrary timeout on Pyro, to force it to free memory after disconnect.

Fri, 05 Jan 2018 15:39:02 +0100Moved code from to Beremiz_service.py Server class Start method to Loop method to allow customisation by hot patching. Also renamed Stop method as _stop and use Restart instead of Stop from everywhere else to make it clear that _stop actually does restart...
Edouard Tisserant [Fri, 05 Jan 2018 15:39:02 +0100] rev 1887
Moved code from to Beremiz_service.py Server class Start method to Loop method to allow customisation by hot patching. Also renamed Stop method as _stop and use Restart instead of Stop from everywhere else to make it clear that _stop actually does restart...

Thu, 04 Jan 2018 16:00:35 +0100enforce PEP8 in previous commit
Edouard Tisserant [Thu, 04 Jan 2018 16:00:35 +0100] rev 1886
enforce PEP8 in previous commit

Fri, 20 Jan 2017 13:22:31 +0100replaced normal panel with scrolled panel under project properties
dporopat <denis.poropat@smarteh.si> [Fri, 20 Jan 2017 13:22:31 +0100] rev 1885
replaced normal panel with scrolled panel under project properties

Tue, 05 Dec 2017 12:38:04 +0300fix missing root in empty search results panel
Surkov Sergey <surkovsv93@gmail.com> [Tue, 05 Dec 2017 12:38:04 +0300] rev 1884
fix missing root in empty search results panel

Mon, 04 Dec 2017 19:35:31 +0300add possibility to specify subprocess stdout encoding
Surkov Sergey <surkovsv93@gmail.com> [Mon, 04 Dec 2017 19:35:31 +0300] rev 1883
add possibility to specify subprocess stdout encoding

Mon, 04 Dec 2017 11:20:46 +0300fix deadlock if method kill() is called after process is already finished
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 04 Dec 2017 11:20:46 +0300] rev 1882
fix deadlock if method kill() is called after process is already finished

Wed, 25 Oct 2017 13:50:26 +0300fix pylint py3k conversion warning: "(no-absolute-import) import missing `from __future__ import absolute_import`"
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 25 Oct 2017 13:50:26 +0300] rev 1881
fix pylint py3k conversion warning: "(no-absolute-import) import missing `from __future__ import absolute_import`"

Mon, 23 Oct 2017 18:25:45 +0300make CanFestival to be at the expected place in bitbucket pipelines container
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 23 Oct 2017 18:25:45 +0300] rev 1880
make CanFestival to be at the expected place in bitbucket pipelines container

Thu, 19 Oct 2017 13:33:01 +0300fix pylint error '(unsubscriptable-object) Value 'X' is unsubscriptable'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 19 Oct 2017 13:33:01 +0300] rev 1879
fix pylint error '(unsubscriptable-object) Value 'X' is unsubscriptable'

Thu, 19 Oct 2017 11:03:03 +0300fix pylint warning '(bad-continuation) Wrong hanging indentation before block'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 19 Oct 2017 11:03:03 +0300] rev 1878
fix pylint warning '(bad-continuation) Wrong hanging indentation before block'

Thu, 19 Oct 2017 10:57:35 +0300force all python source code to have LF line ending
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 19 Oct 2017 10:57:35 +0300] rev 1877
force all python source code to have LF line ending

Wed, 18 Oct 2017 12:23:19 +0300fix pylint warning '(expression-not-assigned) Expression "X" is assigned to nothing'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 18 Oct 2017 12:23:19 +0300] rev 1876
fix pylint warning '(expression-not-assigned) Expression "X" is assigned to nothing'

Tue, 17 Oct 2017 11:29:20 +0300fix pylint warning '(redefine-in-handler) Redefining name 'X' from outer scope (line Y) in exception handler'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 17 Oct 2017 11:29:20 +0300] rev 1875
fix pylint warning '(redefine-in-handler) Redefining name 'X' from outer scope (line Y) in exception handler'

Tue, 17 Oct 2017 11:09:01 +0300fix displaying result of update check during Beremiz startup
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 17 Oct 2017 11:09:01 +0300] rev 1874
fix displaying result of update check during Beremiz startup

Tue, 17 Oct 2017 09:51:43 +0300fix pylint warning '(no-init) Class has no __init__ method'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 17 Oct 2017 09:51:43 +0300] rev 1873
fix pylint warning '(no-init) Class has no __init__ method'

Mon, 16 Oct 2017 17:20:31 +0300fix pylint error "(undefined-variable) Undefined variable 'X'"
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 16 Oct 2017 17:20:31 +0300] rev 1872
fix pylint error "(undefined-variable) Undefined variable 'X'"

Fri, 13 Oct 2017 13:17:42 +0300fix problem happend when tests are running under python-coverage
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 13 Oct 2017 13:17:42 +0300] rev 1871
fix problem happend when tests are running under python-coverage

$ python-coverage run ./tests/tools/test_application.py

Exception while connecting LOCAL://!
Traceback (most recent call last):
File "/home/developer/WorkData/PLC/beremiz/beremiz/ProjectController.py", line 1753, in _Connect
self._SetConnector(connectors.ConnectorFactory(uri, self)
File "/home/developer/WorkData/PLC/beremiz/beremiz/ProjectController.py", line 1702, in _SetConnector
if connector is not None:
PyAssertionError: C++ assertion "m_window" failed at ../src/gtk/dcclient.cpp(2043) in DoGetSize(): GetSize() doesn't work without window

Thu, 12 Oct 2017 16:18:05 +0300fix pylint error '(too-many-function-args) Too many positional arguments for function call'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 12 Oct 2017 16:18:05 +0300] rev 1870
fix pylint error '(too-many-function-args) Too many positional arguments for function call'

Wed, 11 Oct 2017 13:55:56 +0300fix pylint error '(import-error) Unable to import X'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 11 Oct 2017 13:55:56 +0300] rev 1869
fix pylint error '(import-error) Unable to import X'

Wed, 11 Oct 2017 13:15:21 +0300fix pylint error '(no-self-argument) Method should have "self" as first argument'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 11 Oct 2017 13:15:21 +0300] rev 1868
fix pylint error '(no-self-argument) Method should have "self" as first argument'

Wed, 11 Oct 2017 11:54:55 +0300fix pylint error "(no-name-in-module) No name 'X' in module 'Y'"
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 11 Oct 2017 11:54:55 +0300] rev 1867
fix pylint error "(no-name-in-module) No name 'X' in module 'Y'"

Wed, 11 Oct 2017 11:41:32 +0300fix pylint error '(bad-except-order) Bad except clauses order (X is an ancestor class of Y)'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 11 Oct 2017 11:41:32 +0300] rev 1866
fix pylint error '(bad-except-order) Bad except clauses order (X is an ancestor class of Y)'

Wed, 11 Oct 2017 11:35:19 +0300fix pylint warning "(no-value-for-parameter) No value for argument 'X' in function call"
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 11 Oct 2017 11:35:19 +0300] rev 1865
fix pylint warning "(no-value-for-parameter) No value for argument 'X' in function call"

Wed, 11 Oct 2017 10:34:45 +0300fix problems with unconnected input of InOut function variables and
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 11 Oct 2017 10:34:45 +0300] rev 1864
fix problems with unconnected input of InOut function variables and
enfoce InOut variables to be connected for functions and function blocks

Tue, 10 Oct 2017 16:38:57 +0300fix error for functions with VAR_IN_OUT
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 10 Oct 2017 16:38:57 +0300] rev 1863
fix error for functions with VAR_IN_OUT

The problem was found by pylint '(used-before-assignment) Using variable "X" before assignment'

Tue, 10 Oct 2017 14:01:46 +0300fix pylint warning '(unidiomatic-typecheck) Using type() instead of isinstance() for a typecheck'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 10 Oct 2017 14:01:46 +0300] rev 1862
fix pylint warning '(unidiomatic-typecheck) Using type() instead of isinstance() for a typecheck'

Tue, 10 Oct 2017 13:49:13 +0300fix pylint warning '(misplaced-bare-raise) The raise statement is not inside an except clause'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 10 Oct 2017 13:49:13 +0300] rev 1861
fix pylint warning '(misplaced-bare-raise) The raise statement is not inside an except clause'

Tue, 10 Oct 2017 13:43:55 +0300fix format string argument error found by pylint '(too-many-format-args) Too many arguments for format string'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 10 Oct 2017 13:43:55 +0300] rev 1860
fix format string argument error found by pylint '(too-many-format-args) Too many arguments for format string'

Tue, 10 Oct 2017 13:33:46 +0300fix pylint warning '(wrong-import-position) Import "import X" should be placed at the top of the module'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 10 Oct 2017 13:33:46 +0300] rev 1859
fix pylint warning '(wrong-import-position) Import "import X" should be placed at the top of the module'

Tue, 10 Oct 2017 13:21:48 +0300fix pylint warning '(import-self) Module import itself'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 10 Oct 2017 13:21:48 +0300] rev 1858
fix pylint warning '(import-self) Module import itself'

Tue, 10 Oct 2017 12:50:10 +0300remove old code useless code found by pylint "(unnecessary-pass) Unnecessary pass statement"
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 10 Oct 2017 12:50:10 +0300] rev 1857
remove old code useless code found by pylint "(unnecessary-pass) Unnecessary pass statement"

Tue, 10 Oct 2017 12:34:50 +0300fix error found by pylint 'W0104(pointless-statement) Statement seems to have no effect'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 10 Oct 2017 12:34:50 +0300] rev 1856
fix error found by pylint 'W0104(pointless-statement) Statement seems to have no effect'

Tue, 10 Oct 2017 12:21:46 +0300fix pylint warning "(undefined-loop-variable) Using possibly undefined loop variable 'X'"
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 10 Oct 2017 12:21:46 +0300] rev 1855
fix pylint warning "(undefined-loop-variable) Using possibly undefined loop variable 'X'"

Tue, 10 Oct 2017 11:58:30 +0300fix pylint warning 'C0112(empty-docstring) Empty function docstring'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 10 Oct 2017 11:58:30 +0300] rev 1854
fix pylint warning 'C0112(empty-docstring) Empty function docstring'

Mon, 09 Oct 2017 18:13:26 +0300fix pylint warning "(relative-import) Relative import 'Y', should be 'X.Y'"
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 09 Oct 2017 18:13:26 +0300] rev 1853
fix pylint warning "(relative-import) Relative import 'Y', should be 'X.Y'"

Mon, 09 Oct 2017 16:04:39 +0300fix pylint warning '(dangerous-default-value) Dangerous default value {} as argument'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 09 Oct 2017 16:04:39 +0300] rev 1852
fix pylint warning '(dangerous-default-value) Dangerous default value {} as argument'

Mon, 09 Oct 2017 12:30:14 +0300fix pylint warning '(old-style-class) Old-style class defined.'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 09 Oct 2017 12:30:14 +0300] rev 1851
fix pylint warning '(old-style-class) Old-style class defined.'

This warning is ignored for classes from PyJSLib, because library
overrides base object class.

Fri, 06 Oct 2017 17:52:34 +0300fix pylint warning '(unused-import), Unused import connectors'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 06 Oct 2017 17:52:34 +0300] rev 1850
fix pylint warning '(unused-import), Unused import connectors'

Thu, 05 Oct 2017 16:46:29 +0300fix typos
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 05 Oct 2017 16:46:29 +0300] rev 1849
fix typos

Thu, 05 Oct 2017 16:41:31 +0300comment out unused code SFC_Step.RefreshBoundingBox()
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 05 Oct 2017 16:41:31 +0300] rev 1848
comment out unused code SFC_Step.RefreshBoundingBox()

Thu, 05 Oct 2017 16:38:49 +0300explicitly mark unused variables found by pylint with _ or dummy
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 05 Oct 2017 16:38:49 +0300] rev 1847
explicitly mark unused variables found by pylint with _ or dummy

pylint don't ignores unused variables with '_' in the name, even when
they are started with '_'. This bug is already fixed upstream, to fix
this in all versions of pylint custom dummy-variables-rgx is used
'_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy'

Tue, 03 Oct 2017 16:31:31 +0300remove unused variables found by pylint
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 03 Oct 2017 16:31:31 +0300] rev 1846
remove unused variables found by pylint

Tue, 03 Oct 2017 16:12:55 +0300update .PHONE target in Makefile for mki18n.py
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 03 Oct 2017 16:12:55 +0300] rev 1845
update .PHONE target in Makefile for mki18n.py

Tue, 03 Oct 2017 16:08:40 +0300make mki18n return 0 on success
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 03 Oct 2017 16:08:40 +0300] rev 1844
make mki18n return 0 on success

Tue, 03 Oct 2017 16:08:00 +0300update list with files for internatialization, app.fil
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 03 Oct 2017 16:08:00 +0300] rev 1843
update list with files for internatialization, app.fil

Tue, 03 Oct 2017 16:07:02 +0300move README content to Makefile
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 03 Oct 2017 16:07:02 +0300] rev 1842
move README content to Makefile

It's not necessary to copy commands from README anymore. Just use
'make source_list', 'make template' or 'make locales'.

Mon, 02 Oct 2017 13:19:06 +0300fix pylint warning '(global-variable-not-assigned) Using global for 'X' but no assignment is done'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 02 Oct 2017 13:19:06 +0300] rev 1841
fix pylint warning '(global-variable-not-assigned) Using global for 'X' but no assignment is done'

Mon, 02 Oct 2017 12:43:01 +0300fix pylint error '(function-redefined) method already defined'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 02 Oct 2017 12:43:01 +0300] rev 1840
fix pylint error '(function-redefined) method already defined'

Fri, 29 Sep 2017 16:48:42 +0300fix pylint warning '(unreachable) Unreachable code'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 29 Sep 2017 16:48:42 +0300] rev 1839
fix pylint warning '(unreachable) Unreachable code'

Fri, 29 Sep 2017 16:39:52 +0300fix pylint warning (bad-indentation) Bad indentation. Found X spaces, expected Y
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 29 Sep 2017 16:39:52 +0300] rev 1838
fix pylint warning (bad-indentation) Bad indentation. Found X spaces, expected Y

Fri, 29 Sep 2017 16:26:15 +0300fix pylint warning '(pointless-string-statement) String statement has no effect'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 29 Sep 2017 16:26:15 +0300] rev 1837
fix pylint warning '(pointless-string-statement) String statement has no effect'

Python doesn't support docstring for variables directly. Where
appropriate Sphinx style for docstrings for variables is used
'#: some-docstring'

Fri, 29 Sep 2017 15:36:33 +0300fix error __init__ method from base class is not called
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 29 Sep 2017 15:36:33 +0300] rev 1836
fix error __init__ method from base class is not called

Thu, 28 Sep 2017 17:24:33 +0300fix more than one statement on a single line
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 28 Sep 2017 17:24:33 +0300] rev 1835
fix more than one statement on a single line

Thu, 28 Sep 2017 17:20:31 +0300fix ungrouped imports from package X
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 28 Sep 2017 17:20:31 +0300] rev 1834
fix ungrouped imports from package X

Thu, 28 Sep 2017 16:25:05 +0300fix unnecessary lambda and enable corresponding pylint check
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 28 Sep 2017 16:25:05 +0300] rev 1833
fix unnecessary lambda and enable corresponding pylint check

Thu, 28 Sep 2017 15:17:57 +0300fix wrong-import-order. first standard modules are imported, then others
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 28 Sep 2017 15:17:57 +0300] rev 1832
fix wrong-import-order. first standard modules are imported, then others

Thu, 28 Sep 2017 12:20:40 +0300fix (old-style-class) Old-style class defined error for most parts of
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 28 Sep 2017 12:20:40 +0300] rev 1831
fix (old-style-class) Old-style class defined error for most parts of
the code

only PyJS code is left, because it does some fancy tricks and can't be
easily fixed. So far PyJS doesn't support Python3 anyway.

Fri, 22 Sep 2017 20:12:22 +0300remove in-tree version of Zeroconf and use upstream from
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 22 Sep 2017 20:12:22 +0300] rev 1830
remove in-tree version of Zeroconf and use upstream from
python-zeroconf package

Fri, 22 Sep 2017 18:06:15 +0300remove reimported modules
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 22 Sep 2017 18:06:15 +0300] rev 1829
remove reimported modules

Fri, 22 Sep 2017 16:37:38 +0300fix unnecessary parens after keyword
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 22 Sep 2017 16:37:38 +0300] rev 1828
fix unnecessary parens after keyword

Fri, 22 Sep 2017 10:57:57 +0300enable pylint checker
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 22 Sep 2017 10:57:57 +0300] rev 1827
enable pylint checker

so far only print statement is checked

Fri, 22 Sep 2017 10:54:42 +0300fix usage of python2-only print statement
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 22 Sep 2017 10:54:42 +0300] rev 1826
fix usage of python2-only print statement

Fri, 22 Sep 2017 10:52:44 +0300run python tests with non-english locale to catch bugs related to localization
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 22 Sep 2017 10:52:44 +0300] rev 1825
run python tests with non-english locale to catch bugs related to localization

Thu, 21 Sep 2017 17:19:18 +0300make it possible to update XSD schema in project controller after new
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 21 Sep 2017 17:19:18 +0300] rev 1824
make it possible to update XSD schema in project controller after new
target PLC is added or removed.

For example:


...
import targets
targets.targets["PLC"] = {"xsd": os.path.join(self.customBeremizPath, "PLCtarget", xsd),
"class": lambda: PLC_target,
"code": {"plc_PLC_main.c": os.path.join(self.customBeremizPath, "PLCtarget", "plc_PLC_main.c")}
}

from ProjectController import ProjectController, GetProjectControllerXSD
ProjectController.XSD = GetProjectControllerXSD()

Thu, 21 Sep 2017 16:06:51 +0300fix commit "lazy initialization of highlight pens and brushes
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 21 Sep 2017 16:06:51 +0300] rev 1823
fix commit "lazy initialization of highlight pens and brushes
for DebugVariableViewer" (5562f34f)

Thu, 21 Sep 2017 15:04:15 +0300clean build example project after running test
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 21 Sep 2017 15:04:15 +0300] rev 1822
clean build example project after running test

Thu, 21 Sep 2017 15:02:36 +0300fix problem if DataTypeEditor was imported before localization is
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 21 Sep 2017 15:02:36 +0300] rev 1821
fix problem if DataTypeEditor was imported before localization is
loaded

That doesn't affect systems with english locales.

Sat, 16 Sep 2017 21:26:17 +0300add shell script to run all python tests and automatically handle Xvfb
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 16 Sep 2017 21:26:17 +0300] rev 1820
add shell script to run all python tests and automatically handle Xvfb

Sat, 16 Sep 2017 21:24:22 +0300add PLCOpenEditor tests
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 16 Sep 2017 21:24:22 +0300] rev 1819
add PLCOpenEditor tests

Sat, 16 Sep 2017 21:22:53 +0300run application tests in full screen mode
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 16 Sep 2017 21:22:53 +0300] rev 1818
run application tests in full screen mode

Sat, 16 Sep 2017 21:22:06 +0300clean sys.argv, because if test is running from pytest
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 16 Sep 2017 21:22:06 +0300] rev 1817
clean sys.argv, because if test is running from pytest
sys.argv contains string "pytest --timeout 0 ./tests/tools"
Beremiz application parses it and throws exception.

Sat, 16 Sep 2017 21:19:19 +0300rework Beremiz application "testCheckProject" test to allow easier reuse later
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 16 Sep 2017 21:19:19 +0300] rev 1816
rework Beremiz application "testCheckProject" test to allow easier reuse later

Sat, 16 Sep 2017 21:04:34 +0300add application name for PLCOpenEditor
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 16 Sep 2017 21:04:34 +0300] rev 1815
add application name for PLCOpenEditor

This is needed to work user configuration load/store, if PLCOpenEditor
is launched from test environment.

Fri, 15 Sep 2017 20:30:24 +0300rewrite PLCOpenEditor. Add PLCOpenEditorApp class for easier customizations.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 15 Sep 2017 20:30:24 +0300] rev 1814
rewrite PLCOpenEditor. Add PLCOpenEditorApp class for easier customizations.

Fri, 15 Sep 2017 20:28:54 +0300lazy locale initialization
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 15 Sep 2017 20:28:54 +0300] rev 1813
lazy locale initialization

wx.Locale() can't be called without wx.App. So don't call it at
import. It makes PLCOpenEditor simpler.

Fri, 15 Sep 2017 20:05:41 +0300use CustomIntCtrl instead of wx.SpinCtrl because it doesn't support
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 15 Sep 2017 20:05:41 +0300] rev 1812
use CustomIntCtrl instead of wx.SpinCtrl because it doesn't support
long integer needed for UDINT, (U)LINT types.

This commit complements commit 74a3f4d "fix LINT and ULINT ranges".

Fri, 15 Sep 2017 20:01:21 +0300add custom TextCtrl allowed to enter long integer with bounds checking
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 15 Sep 2017 20:01:21 +0300] rev 1811
add custom TextCtrl allowed to enter long integer with bounds checking

It's needed because wx.SpinCtrl supports only 'int' type. For UDINT
and (U)LINT long type is necessary.

Fri, 15 Sep 2017 19:53:49 +0300use pytest for testing
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 15 Sep 2017 19:53:49 +0300] rev 1810
use pytest for testing

Fri, 15 Sep 2017 19:51:31 +0300run separate test on every project instead of one big long test all projects
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 15 Sep 2017 19:51:31 +0300] rev 1809
run separate test on every project instead of one big long test all projects

Fri, 15 Sep 2017 19:45:41 +0300move configuration for test environment into separate file conftest.py
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 15 Sep 2017 19:45:41 +0300] rev 1808
move configuration for test environment into separate file conftest.py

Fri, 15 Sep 2017 19:01:31 +0300lazy initialization of highlight pens and brushes for DebugVariableViewer
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 15 Sep 2017 19:01:31 +0300] rev 1807
lazy initialization of highlight pens and brushes for DebugVariableViewer

Constructors wx.Pen() and wx.Brush() require wx.App to exist already.
That causes crash during import of the control,
because import is done before calling main application code.

Fri, 15 Sep 2017 18:57:20 +0300add '_' function to builtin dictionary at import time
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 15 Sep 2017 18:57:20 +0300] rev 1806
add '_' function to builtin dictionary at import time

This allows to import many Beremiz python modules before calling
util.misc.InstallLocalRessources().

Fri, 15 Sep 2017 18:51:42 +0300remove builtin BMZ_DBG. It's not used.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 15 Sep 2017 18:51:42 +0300] rev 1805
remove builtin BMZ_DBG. It's not used.

Wed, 13 Sep 2017 15:39:48 +0300update translation strings
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 13 Sep 2017 15:39:48 +0300] rev 1804
update translation strings

Wed, 13 Sep 2017 15:35:43 +0300updated all existing translations
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 13 Sep 2017 15:35:43 +0300] rev 1803
updated all existing translations
added new languages: Portuguese (Portugal), Italian, Hungarian,
Spanish and Bengali. See version.py for information about translators.

Wed, 13 Sep 2017 10:18:04 +0300fix LINT and ULINT ranges
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 13 Sep 2017 10:18:04 +0300] rev 1802
fix LINT and ULINT ranges

Tue, 12 Sep 2017 18:32:13 +0300found installed Inkscape on Windows
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 12 Sep 2017 18:32:13 +0300] rev 1801
found installed Inkscape on Windows

tested with Inkscape version 0.9 on Windows 7.

Tue, 12 Sep 2017 16:49:35 +0300make possible to turn off at compile time online debugging, logging
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 12 Sep 2017 16:49:35 +0300] rev 1800
make possible to turn off at compile time online debugging, logging
and external sync functionality

Defines TARGET_DEBUG_DISABLE, TARGET_LOGGING_DISABLE, TARGET_EXT_SYNC_DISABLE
allow to use generated PLC code in low-cost microcontrollers,
integrate into external programs and so on.

main.c:
extern void __run(void);
int main(void)
{
for(;;) {
__run();
// sleep common_ticktime__ ns
// add common_ticktime__ ns to __CURRENT_TIME
}
return 0;
}

Compile for example for arm bare-metal:
../build$ arm-none-eabi-gcc \
-DTARGET_DEBUG_DISABLE -DTARGET_LOGGER_DISABLE
-DTARGET_EXT_SYNC_DISABLE \
-flto -ffunction-sections -fdata-sections -I../../../../matiec/lib/C \
*.c \
-nodefaultlibs --specs=nano.specs -Wl,--static -Wl,--gc-section -Wl,--start-group -lc -lm -lnosys -lgcc -Wl,--end-group

Tue, 12 Sep 2017 14:22:17 +0300make default caption for PouNameDialog translatable
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 12 Sep 2017 14:22:17 +0300] rev 1799
make default caption for PouNameDialog translatable

Tue, 12 Sep 2017 14:18:50 +0300fix max value for UDINT and ULINT types
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 12 Sep 2017 14:18:50 +0300] rev 1798
fix max value for UDINT and ULINT types

Tue, 12 Sep 2017 14:13:39 +0300update Build icon
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 12 Sep 2017 14:13:39 +0300] rev 1797
update Build icon

Tue, 12 Sep 2017 10:21:51 +0300add couple Beremiz application tests
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 12 Sep 2017 10:21:51 +0300] rev 1796
add couple Beremiz application tests

These tests trigger around 45% of python code.
Used in tests docker files are avaiable here:
https://bitbucket.org/skvorl/beremiz-dockerfiles

Fri, 08 Sep 2017 11:53:48 +0300fix problem if _should_write is called by expired timer after
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 08 Sep 2017 11:53:48 +0300] rev 1795
fix problem if _should_write is called by expired timer after
termination of wx application.

Mon, 28 Aug 2017 10:49:53 +0000Initial Bitbucket Pipelines configuration
Sergey Surkov <surkovsv93@gmail.com> [Mon, 28 Aug 2017 10:49:53 +0000] rev 1794
Initial Bitbucket Pipelines configuration

Mon, 28 Aug 2017 13:43:46 +0300fix bug with unfinished debug thread
Surkov Sergey <surkovsv93@gmail.com> [Mon, 28 Aug 2017 13:43:46 +0300] rev 1793
fix bug with unfinished debug thread
this bug occurs when user doesn't stop debugging process in current project, and opens another project

Fri, 25 Aug 2017 14:01:44 +0300unify exception handling of Beremiz and PLCOpenEditor
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 25 Aug 2017 14:01:44 +0300] rev 1792
unify exception handling of Beremiz and PLCOpenEditor

Fri, 25 Aug 2017 12:23:45 +0300fix problem running PLCOpenEditor
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 25 Aug 2017 12:23:45 +0300] rev 1791
fix problem running PLCOpenEditor

$ ./PLCOpenEditor.py
../src/common/stdpbase.cpp(62): assert "traits" failed in Get(): create wxApp before calling this

Regression was introduced by '3311eea' (clean-up: fix PEP8 E402 module level import not at top of file)

Fri, 25 Aug 2017 12:01:23 +0300don't check any particular wx version
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 25 Aug 2017 12:01:23 +0300] rev 1790
don't check any particular wx version

Beremiz works with any version of wx.

Fri, 25 Aug 2017 11:22:08 +0300fix problem when Beremiz is running without matiec installed
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 25 Aug 2017 11:22:08 +0300] rev 1789
fix problem when Beremiz is running without matiec installed

set matiec settings only once on first use of ProjectController class and give
user-friendly message on compilation about missing matiec
installation.


Traceback (most recent call last):
File "Beremiz.py", line 197, in <module>
beremiz.Start()
File "Beremiz.py", line 192, in Start
self.CreateApplication()
File "Beremiz.py", line 130, in CreateApplication
self.BackgroundInitialization()
File "Beremiz.py", line 137, in BackgroundInitialization
self.ImportModules()
File "Beremiz.py", line 176, in ImportModules
import BeremizIDE
File
"BeremizIDE.py", line 76, in <module>
from ProjectController import ProjectController, GetAddMenuItems,
MATIEC_ERROR_MODEL, ITEM_CONFNODE
File
"ProjectController.py", line 177, in <module>
iec2c_cfg = Iec2CSettings()
File
"ProjectController.py", line 101, in __init__
self.ieclib_c_path = self.findLibCPath()
File
"ProjectController.py", line 135, in findLibCPath
os.path.join(self.ieclib_path, "C"),
File "/usr/lib/python2.7/posixpath.py", line 70, in join
elif path == '' or path.endswith('/'):
AttributeError: 'NoneType' object has no attribute 'endswith'

Tue, 22 Aug 2017 14:15:49 +0000Initial Bitbucket Pipelines configuration
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 22 Aug 2017 14:15:49 +0000] rev 1788
Initial Bitbucket Pipelines configuration

Tue, 22 Aug 2017 17:14:40 +0300add configuration for Bitbucket pipelines
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 22 Aug 2017 17:14:40 +0300] rev 1787
add configuration for Bitbucket pipelines

Tue, 22 Aug 2017 17:14:08 +0300add shell script to test Beremiz python code
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 22 Aug 2017 17:14:08 +0300] rev 1786
add shell script to test Beremiz python code

currently only codestyle checking is done using pycodestyle (ex-pep8).
Later checks by flake8 and pylint maybe enabled.

Tue, 22 Aug 2017 12:45:06 +0300clean-up: fix PEP8 W503 line break before binary operator
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 22 Aug 2017 12:45:06 +0300] rev 1785
clean-up: fix PEP8 W503 line break before binary operator

Mon, 21 Aug 2017 23:22:58 +0300fix codestyle issues according to PEP8
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 21 Aug 2017 23:22:58 +0300] rev 1784
fix codestyle issues according to PEP8

Mon, 21 Aug 2017 22:41:37 +0300clean-up: fix PEP8 E402 module level import not at top of file
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 21 Aug 2017 22:41:37 +0300] rev 1783
clean-up: fix PEP8 E402 module level import not at top of file

Mon, 21 Aug 2017 21:55:18 +0300clean-up: fix PEP8 E265 block comment should start with '# '
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 21 Aug 2017 21:55:18 +0300] rev 1782
clean-up: fix PEP8 E265 block comment should start with '# '

Sat, 19 Aug 2017 21:06:54 +0300clean-up: fix PEP8 E266 too many leading '#' for block comment
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 19 Aug 2017 21:06:54 +0300] rev 1781
clean-up: fix PEP8 E266 too many leading '#' for block comment

Sat, 19 Aug 2017 18:12:20 +0300clean-up: fix PEP8 E722 do not use bare except'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 19 Aug 2017 18:12:20 +0300] rev 1780
clean-up: fix PEP8 E722 do not use bare except'

better it'd be to use particular exception instead of 'except Exception'.

Sat, 19 Aug 2017 17:17:54 +0300clean-up: fix PEP8 E115 expected an indented block (comment)
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 19 Aug 2017 17:17:54 +0300] rev 1779
clean-up: fix PEP8 E115 expected an indented block (comment)

Sat, 19 Aug 2017 17:12:12 +0300clean-up: fix PEP8 E721 do not compare types, use 'isinstance()'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 19 Aug 2017 17:12:12 +0300] rev 1778
clean-up: fix PEP8 E721 do not compare types, use 'isinstance()'

Sat, 19 Aug 2017 17:04:31 +0300clean-up: fix PEP8 E131 continuation line unaligned for hanging indent
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 19 Aug 2017 17:04:31 +0300] rev 1777
clean-up: fix PEP8 E131 continuation line unaligned for hanging indent

Sat, 19 Aug 2017 16:45:37 +0300clean-up: fix PEP8 E122 continuation line missing indentation or outdented
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 19 Aug 2017 16:45:37 +0300] rev 1776
clean-up: fix PEP8 E122 continuation line missing indentation or outdented

Sat, 19 Aug 2017 16:30:15 +0300clean-up: fix PEP8 E713 test for membership should be 'not in'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 19 Aug 2017 16:30:15 +0300] rev 1775
clean-up: fix PEP8 E713 test for membership should be 'not in'

Sat, 19 Aug 2017 01:11:27 +0300clean-up: fix PEP8 E272 multiple spaces before keyword
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 19 Aug 2017 01:11:27 +0300] rev 1774
clean-up: fix PEP8 E272 multiple spaces before keyword

Sat, 19 Aug 2017 00:58:44 +0300clean-up: fix PEP8 E124 closing bracket does not match visual indentation
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 19 Aug 2017 00:58:44 +0300] rev 1773
clean-up: fix PEP8 E124 closing bracket does not match visual indentation

Sat, 19 Aug 2017 00:30:22 +0300clean-up: fix PEP8 W191 indentation contains tabs
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 19 Aug 2017 00:30:22 +0300] rev 1772
clean-up: fix PEP8 W191 indentation contains tabs

Sat, 19 Aug 2017 00:11:12 +0300clean-up: fix PEP8 E211 whitespace before '[' or '('
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 19 Aug 2017 00:11:12 +0300] rev 1771
clean-up: fix PEP8 E211 whitespace before '[' or '('

Sat, 19 Aug 2017 00:04:33 +0300clean-up: fix PEP8 E114 indentation is not a multiple of four (comment)
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 19 Aug 2017 00:04:33 +0300] rev 1770
clean-up: fix PEP8 E114 indentation is not a multiple of four (comment)

Fri, 18 Aug 2017 23:39:15 +0300clean-up: fix PEP8 E125 continuation line with same indent as next logical line
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 18 Aug 2017 23:39:15 +0300] rev 1769
clean-up: fix PEP8 E125 continuation line with same indent as next logical line

Fri, 18 Aug 2017 20:14:38 +0300clean-up: fix PEP8 E128 continuation line under-indented for visual indent
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 18 Aug 2017 20:14:38 +0300] rev 1768
clean-up: fix PEP8 E128 continuation line under-indented for visual indent

Fri, 18 Aug 2017 12:36:31 +0300clean-up: fix PEP8 E127 continuation line over-indented for visual indent
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 18 Aug 2017 12:36:31 +0300] rev 1767
clean-up: fix PEP8 E127 continuation line over-indented for visual indent

Thu, 17 Aug 2017 17:25:17 +0300clean-up: fix PEP8 E129 visually indented line with same indent as next logical line
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 17 Aug 2017 17:25:17 +0300] rev 1766
clean-up: fix PEP8 E129 visually indented line with same indent as next logical line

Thu, 17 Aug 2017 16:26:32 +0300clean-up: fix PEP8 W602 deprecated form of raising exception
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 17 Aug 2017 16:26:32 +0300] rev 1765
clean-up: fix PEP8 W602 deprecated form of raising exception

Thu, 17 Aug 2017 15:43:25 +0300clean-up: fix PEP8 E502 the backslash is redundant between brackets
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 17 Aug 2017 15:43:25 +0300] rev 1764
clean-up: fix PEP8 E502 the backslash is redundant between brackets

Thu, 17 Aug 2017 14:27:06 +0300clean-up: fix PEP8 W601 .has_key() is deprecated, use 'in'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 17 Aug 2017 14:27:06 +0300] rev 1763
clean-up: fix PEP8 W601 .has_key() is deprecated, use 'in'

Thu, 17 Aug 2017 11:39:10 +0300clean-up: fix PEP8 E731 do not assign a lambda expression, use a def
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 17 Aug 2017 11:39:10 +0300] rev 1762
clean-up: fix PEP8 E731 do not assign a lambda expression, use a def

Thu, 17 Aug 2017 10:12:04 +0300clean-up: fix PEP8 E203 whitespace before ','
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 17 Aug 2017 10:12:04 +0300] rev 1761
clean-up: fix PEP8 E203 whitespace before ','

Thu, 17 Aug 2017 10:08:23 +0300clean-up: fix PEP8 E262 inline comment should start with '# '
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 17 Aug 2017 10:08:23 +0300] rev 1760
clean-up: fix PEP8 E262 inline comment should start with '# '

Thu, 17 Aug 2017 10:04:24 +0300clean-up: fix PEP8 E712 comparison to True should be 'if cond is True:' or 'if cond:'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 17 Aug 2017 10:04:24 +0300] rev 1759
clean-up: fix PEP8 E712 comparison to True should be 'if cond is True:' or 'if cond:'

Thu, 17 Aug 2017 09:55:39 +0300clean-up: fix PEP8 E222 multiple spaces after operator
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 17 Aug 2017 09:55:39 +0300] rev 1758
clean-up: fix PEP8 E222 multiple spaces after operator

Wed, 16 Aug 2017 17:27:58 +0300clean-up: fix PEP8 E111 indentation is not a multiple of four
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 17:27:58 +0300] rev 1757
clean-up: fix PEP8 E111 indentation is not a multiple of four

Wed, 16 Aug 2017 16:37:45 +0300clean-up: fix PEP8 E701 multiple statements on one line (colon)
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 16:37:45 +0300] rev 1756
clean-up: fix PEP8 E701 multiple statements on one line (colon)

Wed, 16 Aug 2017 15:18:57 +0300clean-up: fix PEP8 E741 ambiguous variable name
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 15:18:57 +0300] rev 1755
clean-up: fix PEP8 E741 ambiguous variable name

Wed, 16 Aug 2017 13:56:36 +0300clean-up: fix most PEP8 E221 multiple spaces before operator
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 13:56:36 +0300] rev 1754
clean-up: fix most PEP8 E221 multiple spaces before operator

Wed, 16 Aug 2017 13:49:02 +0300clean-up: fix most PEP8 E266 too many leading '#' for block comment
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 13:49:02 +0300] rev 1753
clean-up: fix most PEP8 E266 too many leading '#' for block comment

Wed, 16 Aug 2017 13:01:13 +0300clean-up: fix PEP8 E703 statement ends with a semicolon
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 13:01:13 +0300] rev 1752
clean-up: fix PEP8 E703 statement ends with a semicolon

Wed, 16 Aug 2017 12:57:52 +0300clean-up: fix PEP8 E301 expected 1 blank line, found 0
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 12:57:52 +0300] rev 1751
clean-up: fix PEP8 E301 expected 1 blank line, found 0

Wed, 16 Aug 2017 12:53:23 +0300clean-up: fix PEP8 E306 expected 1 blank line before a nested definition, found X
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 12:53:23 +0300] rev 1750
clean-up: fix PEP8 E306 expected 1 blank line before a nested definition, found X

Wed, 16 Aug 2017 12:48:08 +0300clean-up: fix PEP8 E305 expected 2 blank lines after class or function definition
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 12:48:08 +0300] rev 1749
clean-up: fix PEP8 E305 expected 2 blank lines after class or function definition

Wed, 16 Aug 2017 12:30:31 +0300clean-up: fix PEP8 W391 blank line at end of file
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 12:30:31 +0300] rev 1748
clean-up: fix PEP8 W391 blank line at end of file

Wed, 16 Aug 2017 12:21:05 +0300clean-up: fix PEP8 E201 whitespace after '{'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 12:21:05 +0300] rev 1747
clean-up: fix PEP8 E201 whitespace after '{'

Wed, 16 Aug 2017 12:03:46 +0300clean-up: fix PEP8 E202 whitespace before ')'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 12:03:46 +0300] rev 1746
clean-up: fix PEP8 E202 whitespace before ')'

Wed, 16 Aug 2017 11:47:27 +0300clean-up: fix PEP8 E227 missing whitespace around bitwise or shift operator
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 11:47:27 +0300] rev 1745
clean-up: fix PEP8 E227 missing whitespace around bitwise or shift operator

Tue, 15 Aug 2017 22:38:43 +0300clean-up: fix PEP8 E251 unexpected spaces around keyword / parameter equals
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 15 Aug 2017 22:38:43 +0300] rev 1744
clean-up: fix PEP8 E251 unexpected spaces around keyword / parameter equals

Tue, 15 Aug 2017 17:01:51 +0300clean-up: fix PEP8 E711 comparison to None should be 'if cond is not None:'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 15 Aug 2017 17:01:51 +0300] rev 1743
clean-up: fix PEP8 E711 comparison to None should be 'if cond is not None:'

Tue, 15 Aug 2017 16:48:49 +0300clean-up: fix PEP8 E225 missing whitespace around operator
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 15 Aug 2017 16:48:49 +0300] rev 1742
clean-up: fix PEP8 E225 missing whitespace around operator

Tue, 15 Aug 2017 16:01:18 +0300clean-up: fix PEP8 E303 too many blank lines
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 15 Aug 2017 16:01:18 +0300] rev 1741
clean-up: fix PEP8 E303 too many blank lines

Tue, 15 Aug 2017 15:50:30 +0300clean-up: fix PEP8 E231 missing whitespace after ':' or ','
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 15 Aug 2017 15:50:30 +0300] rev 1740
clean-up: fix PEP8 E231 missing whitespace after ':' or ','

Tue, 15 Aug 2017 12:17:51 +0300clean-up: fix PEP8 E203 whitespace before ':' and whitespace before ','
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 15 Aug 2017 12:17:51 +0300] rev 1739
clean-up: fix PEP8 E203 whitespace before ':' and whitespace before ','

Mon, 14 Aug 2017 23:38:28 +0300clean-up: fix PEP8 E271 multiple spaces after keyword
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 14 Aug 2017 23:38:28 +0300] rev 1738
clean-up: fix PEP8 E271 multiple spaces after keyword

Mon, 14 Aug 2017 23:34:22 +0300clean-up: fix PEP8 E261 at least two spaces before inline comment
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 14 Aug 2017 23:34:22 +0300] rev 1737
clean-up: fix PEP8 E261 at least two spaces before inline comment

Mon, 14 Aug 2017 23:27:15 +0300clean-up: fix PEP8 E302 expected 2 blank lines, found 1
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 14 Aug 2017 23:27:15 +0300] rev 1736
clean-up: fix PEP8 E302 expected 2 blank lines, found 1

Mon, 14 Aug 2017 22:30:41 +0300clean-up: fix PEP8 W293 blank line contains whitespace
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 14 Aug 2017 22:30:41 +0300] rev 1735
clean-up: fix PEP8 W293 blank line contains whitespace

Mon, 14 Aug 2017 22:23:17 +0300clean-up: fix some PEP8 E228 missing whitespace around modulo operator
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 14 Aug 2017 22:23:17 +0300] rev 1734
clean-up: fix some PEP8 E228 missing whitespace around modulo operator

Mon, 14 Aug 2017 21:31:01 +0300clean-up: fix some PEP8 E265 block comment should start with '# '
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 14 Aug 2017 21:31:01 +0300] rev 1733
clean-up: fix some PEP8 E265 block comment should start with '# '

Mon, 14 Aug 2017 21:20:32 +0300clean-up: fix PEP8 E401 multiple imports on one line
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 14 Aug 2017 21:20:32 +0300] rev 1732
clean-up: fix PEP8 E401 multiple imports on one line

Mon, 14 Aug 2017 21:09:48 +0300convert some files from CRLF to LF
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 14 Aug 2017 21:09:48 +0300] rev 1731
convert some files from CRLF to LF

It'll break for these files hg blame/annotate. Fortunately not many
files are affected.

Mon, 14 Aug 2017 19:13:01 +0300clean-up for PEP8: fix W291 trailing whitespace
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 14 Aug 2017 19:13:01 +0300] rev 1730
clean-up for PEP8: fix W291 trailing whitespace

Mon, 21 Aug 2017 20:17:19 +0000README.md edited online with Bitbucket
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 21 Aug 2017 20:17:19 +0000] rev 1729
README.md edited online with Bitbucket

Mon, 21 Aug 2017 20:16:00 +0000fix link to documentation in README.md
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 21 Aug 2017 20:16:00 +0000] rev 1728
fix link to documentation in README.md

Mon, 21 Aug 2017 20:14:34 +0000Add information about built official documentation to README.md
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 21 Aug 2017 20:14:34 +0000] rev 1727
Add information about built official documentation to README.md

Fri, 11 Aug 2017 15:18:19 +0300don't allow empty dimension for ARRAY types
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 11 Aug 2017 15:18:19 +0300] rev 1726
don't allow empty dimension for ARRAY types

Wed, 09 Aug 2017 14:34:28 +0300ignore built documentation
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 09 Aug 2017 14:34:28 +0300] rev 1725
ignore built documentation

Wed, 09 Aug 2017 14:13:17 +0300manual: add untranslated po files for French and Korean
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 09 Aug 2017 14:13:17 +0300] rev 1724
manual: add untranslated po files for French and Korean

Wed, 09 Aug 2017 14:11:20 +0300build missing pot files, when building HTML documentation
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 09 Aug 2017 14:11:20 +0300] rev 1723
build missing pot files, when building HTML documentation

Mon, 07 Aug 2017 14:28:29 +0300fix some typos
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 07 Aug 2017 14:28:29 +0300] rev 1722
fix some typos

Sun, 30 Jul 2017 13:54:51 -0700Changed title of new project dialog from:
janbarslo [Sun, 30 Jul 2017 13:54:51 -0700] rev 1721
Changed title of new project dialog from:
Choose a project
to
Choose an empty directory for new project

Sun, 30 Jul 2017 13:51:43 -0700Changed title of New Project dialog
janbarslo [Sun, 30 Jul 2017 13:51:43 -0700] rev 1720
Changed title of New Project dialog
from
Chose a project
to
Choose an empty directory for new project

Fri, 28 Jul 2017 15:34:11 +0300skip hidden files and directories on permission check
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 28 Jul 2017 15:34:11 +0300] rev 1719
skip hidden files and directories on permission check

To fix problems with git, because .git subdirectory contains
read-only repository objects.

Fri, 14 Jul 2017 18:26:20 +0300change structure of filename for bug reports in Beremiz and
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 14 Jul 2017 18:26:20 +0300] rev 1718
change structure of filename for bug reports in Beremiz and
PLCOpenEditor so bug reports could be easily sorted by name

Wed, 05 Jul 2017 13:11:45 +0300fix target Xenomai missing functions
wuyangtang <wuyangtang@live.com> [Wed, 05 Jul 2017 13:11:45 +0300] rev 1717
fix target Xenomai missing functions

Wed, 05 Jul 2017 13:03:58 +0300update messages.pot and messages.po
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 05 Jul 2017 13:03:58 +0300] rev 1716
update messages.pot and messages.po

Wed, 05 Jul 2017 13:02:30 +0300mki18n.py: generate messages.po (contains English strings in msgstr)
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 05 Jul 2017 13:02:30 +0300] rev 1715
mki18n.py: generate messages.po (contains English strings in msgstr)

This po file is necessary because Transifex translation platform
automatically can only import PO files. Usually messages.pot is
enough.

Wed, 05 Jul 2017 12:59:43 +0300add to i18n/README forgotten commands to add some XML schemes as source
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 05 Jul 2017 12:59:43 +0300] rev 1714
add to i18n/README forgotten commands to add some XML schemes as source
for strings and update app.fil

Tue, 04 Jul 2017 14:00:42 +0300Backout commit 92537ed because of writing localized string in node *.xml file
Surkov Sergey <surkovsv93@gmail.com> [Tue, 04 Jul 2017 14:00:42 +0300] rev 1713
Backout commit 92537ed because of writing localized string in node *.xml file

Tue, 04 Jul 2017 13:46:48 +0300Backout changeset 92537edeb2052d53ba5cad8b6da8463dbc660bb1
Surkov Sergey <surkovsv93@gmail.com> [Tue, 04 Jul 2017 13:46:48 +0300] rev 1712
Backout changeset 92537edeb2052d53ba5cad8b6da8463dbc660bb1

Wed, 28 Jun 2017 18:38:52 +0300fixes double mouse capturing after forcing variable in debug mode
Surkov Sergey <surkovsv93@gmail.com> [Wed, 28 Jun 2017 18:38:52 +0300] rev 1711
fixes double mouse capturing after forcing variable in debug mode
this problem appears on Linux

Tue, 27 Jun 2017 19:21:09 +0300fix bug with TextViewer instance in debug mode, appears after transferring new program on PLC
Surkov Sergey <surkovsv93@gmail.com> [Tue, 27 Jun 2017 19:21:09 +0300] rev 1710
fix bug with TextViewer instance in debug mode, appears after transferring new program on PLC
TextViewer isn't able to display debug values, so calling for this class SubscribeAllDataConsumers method causes error

Tue, 27 Jun 2017 13:30:48 +0300fix build problem when make command have trailing whitespace(s)
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 27 Jun 2017 13:30:48 +0300] rev 1709
fix build problem when make command have trailing whitespace(s)

whitespaces at the end are replaced with "", that causes make problem

Mon, 26 Jun 2017 19:42:42 +0300add dialog "add program", that appears after creating new project
Surkov Sergey <surkovsv93@gmail.com> [Mon, 26 Jun 2017 19:42:42 +0300] rev 1708
add dialog "add program", that appears after creating new project
also, sets one task and one instance of created program in main project resource

Mon, 26 Jun 2017 19:38:51 +0300fix i18n string selection for combobox generated from XSD
Surkov Sergey <surkovsv93@gmail.com> [Mon, 26 Jun 2017 19:38:51 +0300] rev 1707
fix i18n string selection for combobox generated from XSD

Thu, 22 Jun 2017 16:43:38 +0300update Russian and French (Fabien M) translations
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 22 Jun 2017 16:43:38 +0300] rev 1706
update Russian and French (Fabien M) translations
added Slovenian (Janez Pregelj) and Portuguese (Thiago Alves) translations

Thu, 22 Jun 2017 16:08:50 +0300l18n: update messages.pot and app.fil
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 22 Jun 2017 16:08:50 +0300] rev 1705
l18n: update messages.pot and app.fil

Thu, 22 Jun 2017 16:07:56 +0300add l18n support to variable table in CodeFileEditor (python/C extension)
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 22 Jun 2017 16:07:56 +0300] rev 1704
add l18n support to variable table in CodeFileEditor (python/C extension)

Thu, 22 Jun 2017 16:06:34 +0300set project name and character set in generated messages.pot
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 22 Jun 2017 16:06:34 +0300] rev 1703
set project name and character set in generated messages.pot

Thu, 22 Jun 2017 15:55:26 +0300close DurationEditorDialog on ENTER key
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 22 Jun 2017 15:55:26 +0300] rev 1702
close DurationEditorDialog on ENTER key

Wed, 21 Jun 2017 17:08:52 +0300add button to ForceVariableDialog to toggle forced boolean value
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 21 Jun 2017 17:08:52 +0300] rev 1701
add button to ForceVariableDialog to toggle forced boolean value

Button is added only for boolean variables.

Tue, 20 Jun 2017 18:57:29 +0300fix problem with hidden FindInPou dialog with wxPython 3.0 on Windows
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 20 Jun 2017 18:57:29 +0300] rev 1700
fix problem with hidden FindInPou dialog with wxPython 3.0 on Windows

FindInPou.IsShown() returned True, but dialog was hidden.
At same time On GNU/Linux with wxPython 3.0 there wasn't such problem.
So it's Windows specific.

Tue, 20 Jun 2017 17:01:19 +0300enable non-latin variable descriptions in CodeFileEditor
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 20 Jun 2017 17:01:19 +0300] rev 1699
enable non-latin variable descriptions in CodeFileEditor

fix following backtrace:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-7: ordinal not in range(128)
Traceback (most recent call last):
File "beremiz/editors/CodeFileEditor.py", line 610, in GetValue
return str(self.data[row].get(self.GetColLabelValue(col, False), ""))
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-7: ordinal not in range(128)

Tue, 20 Jun 2017 16:36:17 +0300disable empty coils and contacts in LD/SFC editors
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 20 Jun 2017 16:36:17 +0300] rev 1698
disable empty coils and contacts in LD/SFC editors

Closes #30

Mon, 19 Jun 2017 19:23:31 +0300remove debug code
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 19 Jun 2017 19:23:31 +0300] rev 1697
remove debug code

Mon, 19 Jun 2017 18:49:43 +0300make all dialog have non-fixed size
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 19 Jun 2017 18:49:43 +0300] rev 1696
make all dialog have non-fixed size

this fixes the problem, that some controls may be hidden in some cases, because
dialog size is too small. This can happen when system fonts are bigger
than expected, default system them controls are bigger or if localized
strings are bigger than in English.

Fri, 09 Jun 2017 18:12:12 +0300avoid infinite loop in search
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 09 Jun 2017 18:12:12 +0300] rev 1695
avoid infinite loop in search

for example following regexp '()' creates infinite list of result

Thu, 08 Jun 2017 17:30:23 +0300make adjustable size of ArrayTypeDialog
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 08 Jun 2017 17:30:23 +0300] rev 1694
make adjustable size of ArrayTypeDialog

Thu, 08 Jun 2017 17:29:41 +0300fix problem with initial values for array of structures
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 08 Jun 2017 17:29:41 +0300] rev 1693
fix problem with initial values for array of structures

for structures wrong empty repetition attributes were generated

Tue, 06 Jun 2017 14:21:53 +0300add information about community support channel to Beremiz and PLCOpenEditor
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 06 Jun 2017 14:21:53 +0300] rev 1692
add information about community support channel to Beremiz and PLCOpenEditor

Tue, 06 Jun 2017 13:13:57 +0300cleanup wxHMI example
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 06 Jun 2017 13:13:57 +0300] rev 1691
cleanup wxHMI example

Tue, 06 Jun 2017 13:12:10 +0300cleanup wxGlade example
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 06 Jun 2017 13:12:10 +0300] rev 1690
cleanup wxGlade example

Tue, 06 Jun 2017 13:11:18 +0300add comments to wiimote example
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 06 Jun 2017 13:11:18 +0300] rev 1689
add comments to wiimote example

Tue, 06 Jun 2017 13:05:30 +0300fix running wxGlade on current Debian systems
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 06 Jun 2017 13:05:30 +0300] rev 1688
fix running wxGlade on current Debian systems

wxGlade was moved from python import path to /usr/share/wxglade

Fri, 02 Jun 2017 19:58:27 +0300rename text field in SVG graphic to match IEC code in svgui example
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 02 Jun 2017 19:58:27 +0300] rev 1687
rename text field in SVG graphic to match IEC code in svgui example

This caused svgui example to crash.

Thu, 01 Jun 2017 14:37:14 +0300disallow setting IEC location addresses for TIME, DATE, DT and TOD variables
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 01 Jun 2017 14:37:14 +0300] rev 1686
disallow setting IEC location addresses for TIME, DATE, DT and TOD variables

Size of these types is not defined and depends on the implementation
(IEC 61131-3 2.3.1).

Tue, 30 May 2017 17:09:33 +0300if there is no users matiec installation, then use system path to run iec2c
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 30 May 2017 17:09:33 +0300] rev 1685
if there is no users matiec installation, then use system path to run iec2c

search for matiec libraries in system path as well

Closes #29

Tue, 23 May 2017 16:06:29 +0300remove child node from add child node menu, if max count of the same type nodes reached
Surkov Sergey <surkovsv93@gmail.com> [Tue, 23 May 2017 16:06:29 +0300] rev 1684
remove child node from add child node menu, if max count of the same type nodes reached

Thu, 18 May 2017 18:00:56 +0300fix reducing groups with ordered elements
Surkov Sergey <surkovsv93@gmail.com> [Thu, 18 May 2017 18:00:56 +0300] rev 1683
fix reducing groups with ordered elements

Wed, 03 May 2017 11:03:44 +0300fix extra brace
Anton Midyukov [Wed, 03 May 2017 11:03:44 +0300] rev 1682
fix extra brace

Fri, 28 Apr 2017 13:28:22 +0300add getCompiler and getLinker methods, to abstract from XSD.
Paul Beltyukov <beltyukov.p.a@gmail.com> [Fri, 28 Apr 2017 13:28:22 +0300] rev 1681
add getCompiler and getLinker methods, to abstract from XSD.
add calc_source_md5 as it's more convenient especially for embedded
targets to add -DPLC_MD5="something" option at compile time than
to mess with editing binary.
add some more helper methods

Thu, 20 Apr 2017 13:01:45 +0300make run Beremiz and PLCOpen Editor, if full path contain non-lating
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 20 Apr 2017 13:01:45 +0300] rev 1680
make run Beremiz and PLCOpen Editor, if full path contain non-lating
characters

There was a problem in About dialog and in project properites tab and
probably in my other places, when str is automatically converted to
unicode string using ascii.
This patch converts str to unicode using proper encoding at the very beggining.

Wed, 12 Apr 2017 10:20:01 +0000README.md edited online with Bitbucket
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 12 Apr 2017 10:20:01 +0000] rev 1679
README.md edited online with Bitbucket

Tue, 11 Apr 2017 19:09:34 +0300fix clearing project name on opening project properties page.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 11 Apr 2017 19:09:34 +0300] rev 1678
fix clearing project name on opening project properties page.

The problem exists only on Windows with wxPython-3.0.

This happens because callback for EVT_KILL_FOCUS for a first text
control (project name) is called just after creating page with project
properties. It happens before initializing text controls from PLCController.

Tue, 11 Apr 2017 17:45:49 +0300fix problem with debugging external string variables
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 11 Apr 2017 17:45:49 +0300] rev 1677
fix problem with debugging external string variables

Debug update stopped if external string variable added to debug
variable panel.

Tue, 11 Apr 2017 12:51:35 +0300fix problem with clearing non-empty location field after changing type of config variable
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 11 Apr 2017 12:51:35 +0300] rev 1676
fix problem with clearing non-empty location field after changing type of config variable

introduced by cd9db17 ("clear variable location cell in variable
panel, if variable class or type changed").

Closes #26

Mon, 10 Apr 2017 18:29:12 +0300fix backtrace on opening program/resource on small screens
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 10 Apr 2017 18:29:12 +0300] rev 1675
fix backtrace on opening program/resource on small screens

Fix regression introduced by f4696d8 ("add stretching to columns Name,
Type, Doc in variable panel").
This problem happens only on wxPython-3.0.

Fri, 07 Apr 2017 16:54:31 +0300show whether instance of SFC action is currently active or not in its
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 07 Apr 2017 16:54:31 +0300] rev 1674
show whether instance of SFC action is currently active or not in its
debug instance view

Wed, 05 Apr 2017 14:24:52 +0300clean PLC log only if there is something to clean
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 05 Apr 2017 14:24:52 +0300] rev 1673
clean PLC log only if there is something to clean

Otherwise exception happens in Beremiz service.

Traceback (most recent call last):
File "/home/developer/WorkData/PLC/beremiz/beremiz/connectors/PYRO/_init_.py", line 113, in catcher_func
return func(*args, **kwargs)
File "/home/developer/WorkData/PLC/beremiz/beremiz/connectors/PYRO/_init_.py", line 194, in my_local_func
return RemotePLCObjectProxy._getattr_(attrName)(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/Pyro/core.py", line 381, in _call_
return self._send(self._name, args, kwargs)
File "/usr/lib/python2.7/dist-packages/Pyro/core.py", line 456, in _invokePYRO
return self.adapter.remoteInvocation(name, Pyro.constants.RIF_VarargsAndKeywords, vargs, kargs)
File "/usr/lib/python2.7/dist-packages/Pyro/protocol.py", line 457, in remoteInvocation
return self._remoteInvocation(method, flags, *args)
File "/usr/lib/python2.7/dist-packages/Pyro/protocol.py", line 532, in _remoteInvocation
answer.raiseEx()
File "/usr/lib/python2.7/dist-packages/Pyro/errors.py", line 72, in raiseEx
raise self.excObj
AttributeError: 'PLCObject' object has no attribute '_ResetLogCount'
+--- This exception occured remotely (Pyro) - Remote traceback:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/Pyro/protocol.py", line 719, in _handleInvocation2
res = obj.Pyro_dyncall(req[1],flags,req[3]) # (method,flags,args)
File "/usr/lib/python2.7/dist-packages/Pyro/core.py", line 108, in Pyro_dyncall
return getattr(self.delegate or self,method) (args,*keywords)
File "/home/developer/WorkData/PLC/beremiz/beremiz/runtime/PLCObject.py", line 101, in ResetLogCount
if self._ResetLogCount is not None:
AttributeError: 'PLCObject' object has no attribute '_ResetLogCount'
+--- End of remote traceback

Wed, 05 Apr 2017 14:17:02 +0300reset loaded messages counts on new PLC program trasnfer
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 05 Apr 2017 14:17:02 +0300] rev 1672
reset loaded messages counts on new PLC program trasnfer

This fixes the problem that first message from newer PLC program maybe
lost, if it's issued before first PLC log fetching.

Closes #23

Tue, 04 Apr 2017 11:34:31 +0300add function block to variable panel if fb is added using toolbar
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 04 Apr 2017 11:34:31 +0300] rev 1671
add function block to variable panel if fb is added using toolbar

Closes #25

Tue, 28 Mar 2017 19:48:51 +0300enable to write SFC transition in IL
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 28 Mar 2017 19:48:51 +0300] rev 1670
enable to write SFC transition in IL

This commit reverts previous commit 3f3d97be9a9f.
Because the fix for the matiec problem is already upstream
(https://bitbucket.org/mjsousa/matiec/commits/ce026aee03e00c0790948a18bd7b35805457da81)

Tue, 28 Mar 2017 17:09:31 +0300fix debug button and variable tree generate for actions and transitions in POU instance variable panel
Surkov Sergey <surkovsv93@gmail.com> [Tue, 28 Mar 2017 17:09:31 +0300] rev 1669
fix debug button and variable tree generate for actions and transitions in POU instance variable panel
for 'None' type instances(Python POU's, Native, SVGUI, user-defined pou's, etc.) debug button will be disabled. If action or transition instances have opened in instance variable panel,variables from main POU will be loaded. When user press debug button on variable instance in action or transition, instance path to main POU will be used, because all variables of action or transition in instance variable tree belong to main POU.