Add capability in UBXReader to read from socket as well as serial or file datastream. Implements new SocketStream utility class which wraps socket and provides basic stream-like read(bytes) and readline() methods. This allows all three datastream types to use the same parsing algorithms, reducing code duplication.
Fixes #67
Testing
Please test all changes, however trivial, against the supplied unittest suite tests/test_*.py e.g. by executing the tests/testsuite.py module or using your IDE's native Python unittest integration facilities. Please describe any test cases you have amended or added to this suite to maintain >= 99% code coverage.
[ ] Test A
[ ] Test B
Checklist:
[x] My code follows the style guidelines of this project (see CONTRIBUTING.MD).
[x] I have performed a self-review of my own code.
[x] (if appropriate) I have cited my u-blox documentation source(s).
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] (if appropriate) I have added test cases to the tests/test_*.py unittest suite to maintain >= 99% code coverage.
[x] I have tested my code against the full tests/test_*.py unittest suite.
[x] My changes generate no new warnings.
[x] Any dependent changes have been merged and published in downstream modules.
[x] I understand and acknowledge that the code will be published under a BSD 3-Clause license.
pyubx2 Pull Request Template
Description
Add capability in
UBXReader
to read from socket as well as serial or file datastream. Implements newSocketStream
utility class which wraps socket and provides basic stream-likeread(bytes)
andreadline()
methods. This allows all three datastream types to use the same parsing algorithms, reducing code duplication.Fixes #67
Testing
Please test all changes, however trivial, against the supplied unittest suite
tests/test_*.py
e.g. by executing thetests/testsuite.py
module or using your IDE's native Python unittest integration facilities. Please describe any test cases you have amended or added to this suite to maintain >= 99% code coverage.Checklist:
CONTRIBUTING.MD
).tests/test_*.py
unittest suite to maintain >= 99% code coverage.tests/test_*.py
unittest suite.