gijzelaerr / python-snap7

A Python wrapper for the snap7 PLC communication library
http://python-snap7.readthedocs.org/
MIT License
644 stars 245 forks source link

Check soft warnings (with pycharm) and pylama #274

Closed gijzelaerr closed 2 years ago

gijzelaerr commented 3 years ago

There are quite some warnings popping up in pycharm, most of them can be ignored. But I think it is good to have a quick scan before the 2.0 release.

I think you can replicate many of these errors/warnings with flake8.

gijzelaerr commented 3 years ago

I now see that there are quite some flake8 errors, but because of the return-zero flag the build doesn't fail. we need to fix these errors:

Run flake8 --count --select=E9,F63,F7,F82 --show-source --statistics snap7 test


snap7/util.py:85:1: F401 'snap7.common.ADict' imported but unused
snap7/util.py:752:128: E501 line too long (146 > 127 characters)
snap7/util.py:949:5: C901 'DB_Row.get_value' is too complex (16)
snap7/util.py:1025:5: C901 'DB_Row.set_value' is too complex (13)
snap7/client.py:14:128: E501 line too long (132 > 127 characters)
snap7/client.py:59:128: E501 line too long (129 > 127 characters)
snap7/client.py:388:128: E501 line too long (131 > 127 characters)
snap7/client.py:401:128: E501 line too long (142 > 127 characters)
snap7/client.py:426:128: E501 line too long (135 > 127 characters)
snap7/client.py:1022:128: E501 line too long (142 > 127 characters)
snap7/server.py:98:128: E501 line too long (135 > 127 characters)
snap7/server.py:543:14: W292 no newline at end of file
snap7/__init__.py:6:1: F401 'snap7.client' imported but unused
snap7/__init__.py:7:1: F401 'snap7.common' imported but unused
snap7/__init__.py:8:1: F401 'snap7.error' imported but unused
snap7/__init__.py:9:1: F401 'snap7.logo' imported but unused
snap7/__init__.py:10:1: F401 'snap7.server' imported but unused
snap7/__init__.py:11:1: F401 'snap7.types' imported but unused
snap7/__init__.py:12:1: F401 'snap7.util' imported but unused
test/test_mainloop.py:1:1: F401 'ctypes' imported but unused
test/test_mainloop.py:4:1: F401 'os.get_inheritable' imported but unused
test/test_mainloop.py:7:1: F401 'unittest.mock' imported but unused
test/test_util.py:309:13: F841 local variable 'fail_single_space' is assigned to but never used
test/test_util.py:311:13: F841 local variable 'fail_multiple_spaces' is assigned to but never used
test/test_util.py:313:13: F841 local variable 'fail_single_indent' is assigned to but never used
test/test_util.py:315:13: F841 local variable 'fail_multiple_indent' is assigned to but never used
test/test_common.py:37:20: W292 no newline at end of file
test/test_partner.py:137:9: F841 local variable 'partner' is assigned to but never used
test/test_server.py:161:9: F841 local variable 'server' is assigned to but never used
test/test_client.py:18:1: F401 'snap7.types.S7WLByte' imported but unused
test/test_client.py:223:9: F841 local variable 'size' is assigned to but never used
test/test_client.py:230:9: F841 local variable 'blockList' is assigned to but never used
test/test_client.py:378:9: F841 local variable 'response' is assigned to but never used
test/test_client.py:379:9: F841 local variable 'result' is assigned to but never used
test/test_client.py:482:9: F841 local variable 'size' is assigned to but never used
test/test_client.py:557:128: E501 line too long (129 > 127 characters)
test/test_client.py:577:9: F841 local variable 'res' is assigned to but never used
test/test_client.py:594:13: F841 local variable 'res' is assigned to but never used
test/test_client.py:624:9: F841 local variable 'res' is assigned to but never used
test/test_client.py:671:9: F841 local variable 'res' is assigned to but never used
test/test_client.py:727:9: F841 local variable 'response' is assigned to but never used
test/test_client.py:742:9: F841 local variable 'result' is assigned to but never used
test/test_client.py:882:128: E501 line too long (128 > 127 characters)
test/test_client.py:883:128: E501 line too long (128 > 127 characters)
test/test_client.py:1046:9: F841 local variable 'client' is assigned to but never used
2     C901 'DB_Row.get_value' is too complex (16)
11    E501 line too long (132 > 127 characters)
12    F401 'snap7.client' imported but unused
18    F841 local variable 'size' is assigned to but never used
2     W292 no newline at end of file
45```
gijzelaerr commented 2 years ago

maybe use pylama, a superset of flake8:

https://github.com/klen/pylama

λ  venv/bin/pylama snap7 tests
PYLINTHOME is now '/Users/gijs/Library/Caches/pylint' but obsolescent '/Users/gijs/.pylint.d' is found; you can safely remove the latter
snap7/util.py:85:1 W0611 'snap7.common.ADict' imported but unused [pyflakes]
snap7/util.py:1161:5 C901 'DB_Row.get_value' is too complex (19) [mccabe]
snap7/util.py:1249:5 C901 'DB_Row.set_value' is too complex (16) [mccabe]
snap7/partner.py:10:1 W0611 'ctypes.c_uint16' imported but unused [pyflakes]
snap7/__init__.py:6:1 W0611 'snap7.client' imported but unused [pyflakes]
snap7/__init__.py:7:1 W0611 'snap7.common' imported but unused [pyflakes]
snap7/__init__.py:8:1 W0611 'snap7.error' imported but unused [pyflakes]
snap7/__init__.py:9:1 W0611 'snap7.logo' imported but unused [pyflakes]
snap7/__init__.py:10:1 W0611 'snap7.server' imported but unused [pyflakes]
snap7/__init__.py:11:1 W0611 'snap7.types' imported but unused [pyflakes]
snap7/__init__.py:12:1 W0611 'snap7.util' imported but unused [pyflakes]
tests/test_partner.py:137:9 W0612 local variable 'partner' is assigned to but never used [pyflakes]
tests/test_util.py:346:13 W0612 local variable 'fail_single_space' is assigned to but never used [pyflakes]
tests/test_util.py:348:13 W0612 local variable 'fail_multiple_spaces' is assigned to but never used [pyflakes]
tests/test_util.py:350:13 W0612 local variable 'fail_single_indent' is assigned to but never used [pyflakes]
tests/test_util.py:352:13 W0612 local variable 'fail_multiple_indent' is assigned to but never used [pyflakes]
tests/test_mainloop.py:1:1 W0611 'ctypes' imported but unused [pyflakes]
tests/test_mainloop.py:4:1 W0611 'os.get_inheritable' imported but unused [pyflakes]
tests/test_mainloop.py:7:1 W0611 'unittest.mock' imported but unused [pyflakes]
tests/test_server.py:161:9 W0612 local variable 'server' is assigned to but never used [pyflakes]
tests/test_client.py:18:1 W0611 'snap7.types.S7WLByte' imported but unused [pyflakes]
tests/test_client.py:223:9 W0612 local variable 'size' is assigned to but never used [pyflakes]
tests/test_client.py:230:9 W0612 local variable 'blockList' is assigned to but never used [pyflakes]
tests/test_client.py:378:9 W0612 local variable 'response' is assigned to but never used [pyflakes]
tests/test_client.py:379:9 W0612 local variable 'result' is assigned to but never used [pyflakes]
tests/test_client.py:482:9 W0612 local variable 'size' is assigned to but never used [pyflakes]
tests/test_client.py:577:9 W0612 local variable 'res' is assigned to but never used [pyflakes]
tests/test_client.py:594:13 W0612 local variable 'res' is assigned to but never used [pyflakes]
tests/test_client.py:626:9 W0612 local variable 'res' is assigned to but never used [pyflakes]
tests/test_client.py:673:9 W0612 local variable 'res' is assigned to but never used [pyflakes]
tests/test_client.py:729:9 W0612 local variable 'response' is assigned to but never used [pyflakes]
tests/test_client.py:744:9 W0612 local variable 'result' is assigned to but never used [pyflakes]
tests/test_client.py:1062:9 W0612 local variable 'client' is assigned to but never used [pyflakes]