objutils 0.10.15__tar.gz → 0.10.16__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {objutils-0.10.15 → objutils-0.10.16}/.pre-commit-config.yaml +1 -1
- {objutils-0.10.15 → objutils-0.10.16}/PKG-INFO +1 -1
- {objutils-0.10.15 → objutils-0.10.16}/objutils/__init__.py +1 -1
- {objutils-0.10.15 → objutils-0.10.16}/objutils/dwarf/__init__.py +0 -1
- {objutils-0.10.15 → objutils-0.10.16}/objutils/dwarf/encoding.py +0 -2
- {objutils-0.10.15 → objutils-0.10.16}/objutils/dwarf/readers.py +0 -1
- {objutils-0.10.15 → objutils-0.10.16}/objutils/elf/model.py +0 -2
- {objutils-0.10.15 → objutils-0.10.16}/objutils/hexfile.py +0 -6
- {objutils-0.10.15 → objutils-0.10.16}/objutils/image.py +24 -6
- {objutils-0.10.15 → objutils-0.10.16}/objutils/registry.py +0 -2
- {objutils-0.10.15 → objutils-0.10.16}/objutils/section.py +72 -19
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_section.py +54 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/version.py +1 -1
- {objutils-0.10.15 → objutils-0.10.16}/pyproject.toml +2 -2
- {objutils-0.10.15 → objutils-0.10.16}/.clang-format +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/.codacy.yml +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/.codeclimate.yml +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/.coveralls.yml +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/.github/FUNDING.yml +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/.github/ISSUE_TEMPLATE/documentation.yml +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/.github/ISSUE_TEMPLATE.md +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/.github/copilot-instructions.md +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/.github/workflows/pythonapp.yml +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/.gitignore +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/.idea/.gitignore +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/.idea/copilot.data.migration.ask2agent.xml +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/.idea/deployment.xml +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/.idea/inspectionProfiles/profiles_settings.xml +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/.idea/misc.xml +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/.idea/modules.xml +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/.idea/pyLspTools.xml +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/.idea/pyProjectModel.xml +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/.idea/vcs.xml +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/.pylintrc +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/.readthedocs.yml +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/.travis.yml +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/CMakeLists.txt +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/CODE_OF_CONDUCT.md +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/CONTRIBUTORS +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/LICENSE +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/MANIFEST.in +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/PULL_REQUEST_TEMPLATE.md +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/appveyor.yml +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/bandit.yml +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/Data_Formats.pdf +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/ELF_Format.pdf +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/KNOWN_GOOD_DWARF_REFERENCE.md +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/README.rst +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/apidoc.sh +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/conf.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.buildinfo +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.buildinfo.bak +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.doctrees/README.doctree +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.doctrees/environment.pickle +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.doctrees/howto.doctree +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.doctrees/index.doctree +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.doctrees/installation.doctree +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.doctrees/modules.doctree +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.doctrees/objutils.doctree +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.doctrees/objutils.elf.doctree +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.doctrees/scripts.doctree +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.doctrees/session.doctree +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/.doctrees/tutorial.doctree +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/README.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_images/objutils_basic.png +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/index.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/ash.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/binfile.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/checksums.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/cosmac.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/elf/defs.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/elf.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/emon52.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/etek.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/exceptions.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/fpc.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/hexdump.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/hexfile.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/ihex.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/image.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/logger.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/mostec.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/pickleif.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/rca.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/readers.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/registry.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/section.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/sig.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/srec.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/tek.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/titxt.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/utils.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_sources/README.rst.txt +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_sources/howto.rst.txt +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_sources/index.rst.txt +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_sources/installation.rst.txt +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_sources/modules.rst.txt +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_sources/objutils.elf.rst.txt +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_sources/objutils.rst.txt +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_sources/scripts.rst.txt +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_sources/session.rst.txt +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_sources/tutorial.rst.txt +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/alabaster.css +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/basic.css +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/check-solid.svg +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/clipboard.min.js +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/copy-button.svg +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/copybutton.css +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/copybutton.js +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/copybutton_funcs.js +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/custom.css +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/doctools.js +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/documentation_options.js +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/file.png +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/github-banner.svg +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/language_data.js +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/minus.png +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/plus.png +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/pygments.css +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/scripts/bootstrap.js +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/scripts/bootstrap.js.LICENSE.txt +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/scripts/fontawesome.js +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/scripts/fontawesome.js.LICENSE.txt +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/scripts/pydata-sphinx-theme.js +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/searchtools.js +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/sphinx_highlight.js +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/styles/pydata-sphinx-theme.css +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/styles/theme.css +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/vendor/fontawesome/webfonts/fa-brands-400.ttf +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/vendor/fontawesome/webfonts/fa-brands-400.woff2 +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/vendor/fontawesome/webfonts/fa-regular-400.ttf +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/vendor/fontawesome/webfonts/fa-regular-400.woff2 +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/vendor/fontawesome/webfonts/fa-solid-900.ttf +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/vendor/fontawesome/webfonts/fa-solid-900.woff2 +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_static/webpack-macros.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/genindex.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/howto.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/index.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/installation.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/modules.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/objects.inv +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/objutils.elf.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/objutils.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/py-modindex.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/scripts.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/search.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/searchindex.js +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/session.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/tutorial.html +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/elf-64-gen.pdf +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/example0.srec +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/howto.rst +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/index.rst +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/installation.rst +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/make.bat +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/modules.rst +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/objutils.elf.rst +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/objutils.rst +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/objutils_banner.png +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/objutils_basic.png +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/objutils_dark.jpg +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/objutils_social.jpg +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/requirements.txt +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/scripts.rst +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/session.rst +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/tutorial.rst +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/docs/tutorial1.ipynb +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/.coveragerc +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/.vscode/launch.json +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/.vscode/settings.json +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/a2l_test.shf +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/ash.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/binfile.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/checksums.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/cosmac.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/dwarf/attrparser.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/dwarf/c_generator.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/dwarf/constants.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/dwarf/lineprog.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/dwarf/sm.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/dwarf/traverser.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/elf/__init__.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/elf/arm/__init__.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/elf/arm/attributes.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/elf/defs.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/emon52.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/etek.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/exceptions.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/extensions/__init__.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/extensions/ctre.hpp +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/extensions/difflib.h +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/extensions/elf_parser.cpp +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/extensions/elf_parser.hpp +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/extensions/exceptions.cpp +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/extensions/exceptions.hpp +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/extensions/hexfile.cpp +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/extensions/wrapper.cpp +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/fpc.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/hexdump.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/ieee695.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/ihex.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/logger.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/mostec.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/objutils.code-workspace +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/oocdtxt.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/pecoff/__init__.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/pecoff/defs.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/pecoff/model.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/pecoff/pdb/__init__.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/pickleif.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/rca.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/readers.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/arduino_build_artifacts.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_cgen.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_coff_extract.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_coff_import.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_coff_info.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_coff_syms.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_dwarf_import.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_dwarf_info.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_elf_arm_attrs.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_elf_extract.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_elf_import.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_elf_info.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_elf_syms.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_hex_info.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_hex_merge.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/scripts/oj_hex_split.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/shf.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/sig.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/srec.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/symbols.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tek.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/__init__.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_arm_attributes.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_ash.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_c_generator.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_checksums.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_cygpath.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_diff_bin.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_elf.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_emon52.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_etek.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_examples_cgen.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_fpc.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_hexdump.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_hexfile.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_ihex.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_image.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_mostec.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_oocdtxt.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_readers.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_registry.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_repr.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_section_join.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_shf.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_sm.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_srec.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_tek.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/tests/test_titext.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/titxt.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/utils/__init__.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/utils/arduino.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/objutils/utils/diff.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/poetry.lock +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/requirements.txt +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/setup.cfg +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/setup.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/test_join_sections.py +0 -0
- {objutils-0.10.15 → objutils-0.10.16}/test_requirements.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: objutils
|
|
3
|
-
Version: 0.10.
|
|
3
|
+
Version: 0.10.16
|
|
4
4
|
Summary: Objectfile library for Python
|
|
5
5
|
Keywords: hex files,intel hex,s19,srec,srecords,object files,map files,embedded,microcontroller,ECU,shf,rfc4194
|
|
6
6
|
Author-Email: Christoph Schueler <cpu12.gems@googlemail.com>
|
|
@@ -64,12 +64,10 @@ class ULEBError(ConstructError):
|
|
|
64
64
|
"""Raised when ULEB128 parsing or building encounters an error."""
|
|
65
65
|
|
|
66
66
|
|
|
67
|
-
|
|
68
67
|
class SLEBError(ConstructError):
|
|
69
68
|
"""Raised when SLEB128 parsing or building encounters an error."""
|
|
70
69
|
|
|
71
70
|
|
|
72
|
-
|
|
73
71
|
@singleton
|
|
74
72
|
class ULEB(Construct):
|
|
75
73
|
"""Unsigned LEB128 (Little-Endian Base-128) Variable-Length Integer.
|
|
@@ -1183,7 +1183,6 @@ class DebugInformation(Base, RidMixIn):
|
|
|
1183
1183
|
"""
|
|
1184
1184
|
|
|
1185
1185
|
|
|
1186
|
-
|
|
1187
1186
|
class CompilationUnit(Base, RidMixIn):
|
|
1188
1187
|
__tablename__ = "compilationunit"
|
|
1189
1188
|
"""ORM model for DWARF Compilation Unit (CU).
|
|
@@ -1193,7 +1192,6 @@ class CompilationUnit(Base, RidMixIn):
|
|
|
1193
1192
|
"""
|
|
1194
1193
|
|
|
1195
1194
|
|
|
1196
|
-
|
|
1197
1195
|
def calculateCacheSize(value: int) -> int:
|
|
1198
1196
|
"""Convert cache size in bytes to SQLite PRAGMA format.
|
|
1199
1197
|
|
|
@@ -335,32 +335,26 @@ class HexFileError(Exception):
|
|
|
335
335
|
"""Base exception for all hex file operations."""
|
|
336
336
|
|
|
337
337
|
|
|
338
|
-
|
|
339
338
|
class ParseError(HexFileError):
|
|
340
339
|
"""Base for parsing-related errors."""
|
|
341
340
|
|
|
342
341
|
|
|
343
|
-
|
|
344
342
|
class InvalidRecordTypeError(ParseError):
|
|
345
343
|
"""Raised when record type is not recognized."""
|
|
346
344
|
|
|
347
345
|
|
|
348
|
-
|
|
349
346
|
class InvalidRecordLengthError(ParseError):
|
|
350
347
|
"""Raised when record length doesn't match data."""
|
|
351
348
|
|
|
352
349
|
|
|
353
|
-
|
|
354
350
|
class InvalidRecordChecksumError(ParseError):
|
|
355
351
|
"""Raised when checksum validation fails."""
|
|
356
352
|
|
|
357
353
|
|
|
358
|
-
|
|
359
354
|
class AddressRangeToLargeError(HexFileError):
|
|
360
355
|
"""Raised when address exceeds format capabilities."""
|
|
361
356
|
|
|
362
357
|
|
|
363
|
-
|
|
364
358
|
# Deprecated alias for backward compatibility
|
|
365
359
|
Invalidrecord_typeError = InvalidRecordTypeError
|
|
366
360
|
|
|
@@ -689,13 +689,31 @@ class Image:
|
|
|
689
689
|
"""Write a numeric ASAM datatype with ECU byte order semantics."""
|
|
690
690
|
self._call_address_function("write_asam_numeric", addr, value, dtype, byte_order, **kws)
|
|
691
691
|
|
|
692
|
-
def read_asam_string(self, addr: int, dtype: str, length: int = -1, **kws: Any) -> str:
|
|
693
|
-
"""Read an ASAM string datatype (ASCII/UTF8/UTF16/UTF32).
|
|
694
|
-
return self._call_address_function("read_asam_string", addr, dtype, length, **kws)
|
|
692
|
+
def read_asam_string(self, addr: int, dtype: str, length: int = -1, encoding: str | None = None, **kws: Any) -> str:
|
|
693
|
+
"""Read an ASAM string datatype (ASCII/UTF8/UTF16/UTF32).
|
|
695
694
|
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
695
|
+
Args:
|
|
696
|
+
addr: Absolute memory address to read from.
|
|
697
|
+
dtype: ASAM string datatype (``"ASCII"``, ``"UTF8"``, ``"UTF16"``, ``"UTF32"``).
|
|
698
|
+
length: Number of bytes, or ``-1`` for null-terminated (default: -1).
|
|
699
|
+
encoding: Optional Python codec name overriding the encoding implied by *dtype*
|
|
700
|
+
(e.g. ``"latin-1"``, ``"cp1252"``). Useful when raw bytes cannot be decoded
|
|
701
|
+
with the standard ASAM mapping.
|
|
702
|
+
"""
|
|
703
|
+
return self._call_address_function("read_asam_string", addr, dtype, length, encoding=encoding, **kws)
|
|
704
|
+
|
|
705
|
+
def write_asam_string(self, addr: int, value: str, dtype: str, encoding: str | None = None, **kws: Any) -> None:
|
|
706
|
+
"""Write an ASAM string datatype (ASCII/UTF8/UTF16/UTF32).
|
|
707
|
+
|
|
708
|
+
Args:
|
|
709
|
+
addr: Absolute memory address to write to.
|
|
710
|
+
value: String to write.
|
|
711
|
+
dtype: ASAM string datatype (``"ASCII"``, ``"UTF8"``, ``"UTF16"``, ``"UTF32"``).
|
|
712
|
+
encoding: Optional Python codec name overriding the encoding implied by *dtype*
|
|
713
|
+
(e.g. ``"latin-1"``, ``"cp1252"``). Useful when the string contains
|
|
714
|
+
characters outside the standard ASAM mapping.
|
|
715
|
+
"""
|
|
716
|
+
self._call_address_function("write_asam_string", addr, value, dtype, encoding=encoding, **kws)
|
|
699
717
|
|
|
700
718
|
def read_asam_numeric_array(
|
|
701
719
|
self,
|
|
@@ -211,7 +211,6 @@ class CodecDoesNotExistError(Exception):
|
|
|
211
211
|
"""
|
|
212
212
|
|
|
213
213
|
|
|
214
|
-
|
|
215
214
|
class CodecAlreadyExistError(Exception):
|
|
216
215
|
"""Raised when attempting to register a format that already exists.
|
|
217
216
|
|
|
@@ -230,7 +229,6 @@ class CodecAlreadyExistError(Exception):
|
|
|
230
229
|
"""
|
|
231
230
|
|
|
232
231
|
|
|
233
|
-
|
|
234
232
|
class Codec(NamedTuple):
|
|
235
233
|
"""Container for format reader, writer, and metadata.
|
|
236
234
|
|
|
@@ -917,35 +917,89 @@ class Section:
|
|
|
917
917
|
permuted = self._permute_asam_buffer(packed, internal_dtype, asam_byte_order)
|
|
918
918
|
self.write(addr, permuted, **kws)
|
|
919
919
|
|
|
920
|
-
def read_asam_string(self, addr: int, dtype: str, length: int = -1, **kws) -> str:
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
920
|
+
def read_asam_string(self, addr: int, dtype: str, length: int = -1, encoding: str | None = None, **kws) -> str:
|
|
921
|
+
"""Read an ASAM string from the section.
|
|
922
|
+
|
|
923
|
+
Args:
|
|
924
|
+
addr: Absolute memory address to read from.
|
|
925
|
+
dtype: ASAM string datatype (``"ASCII"``, ``"UTF8"``, ``"UTF16"``, ``"UTF32"``).
|
|
926
|
+
length: Number of bytes to read, or ``-1`` for null-terminated (default: -1).
|
|
927
|
+
encoding: Optional Python codec name that overrides the encoding implied by
|
|
928
|
+
*dtype* (e.g. ``"latin-1"``, ``"cp1252"``). Use this when the raw bytes
|
|
929
|
+
cannot be decoded with the standard ASAM mapping – for example when an
|
|
930
|
+
embedded ECU stores a nominally-ASCII string with non-ASCII characters
|
|
931
|
+
such as ``b'\\xdc'`` (``Ü`` in Latin-1). When *None* (default), the
|
|
932
|
+
encoding is derived from *dtype* as usual.
|
|
933
|
+
|
|
934
|
+
Returns:
|
|
935
|
+
Decoded string (without null terminator).
|
|
936
|
+
|
|
937
|
+
Raises:
|
|
938
|
+
InvalidAddressError: If address is out of bounds.
|
|
939
|
+
TypeError: If *dtype* is not a supported ASAM string type and no explicit
|
|
940
|
+
*encoding* is given, or if the string is not null-terminated.
|
|
941
|
+
|
|
942
|
+
Example::
|
|
943
|
+
|
|
944
|
+
raw = b'#MSV90-N52T\\xdc-B25-OL-F010-ULEV2-HGAG-LL-K'
|
|
945
|
+
sec = Section(0x1000, bytearray(raw) + b'\\x00')
|
|
946
|
+
# dtype="ASCII" alone would fail – override with latin-1:
|
|
947
|
+
text = sec.read_asam_string(0x1000, "ASCII", encoding="latin-1")
|
|
948
|
+
# text == '#MSV90-N52TÜ-B25-OL-F010-ULEV2-HGAG-LL-K'
|
|
949
|
+
"""
|
|
950
|
+
if encoding is not None:
|
|
951
|
+
actual_encoding = encoding
|
|
952
|
+
else:
|
|
953
|
+
actual_encoding = ASAM_STRING_ENCODINGS.get(dtype.strip().upper())
|
|
954
|
+
if actual_encoding is None:
|
|
955
|
+
raise TypeError(f"Unsupported ASAM string datatype {dtype!r}")
|
|
956
|
+
if length == -1:
|
|
925
957
|
offset = addr - self.start_address
|
|
926
958
|
if offset < 0:
|
|
927
959
|
raise InvalidAddressError(f"read_asam_string(0x{addr:08x}) access out of bounds.")
|
|
928
960
|
tail = self.data[offset:]
|
|
929
|
-
terminator = "\x00".encode(encoding=
|
|
961
|
+
terminator = "\x00".encode(encoding=actual_encoding)
|
|
930
962
|
pos = tail.find(terminator)
|
|
931
963
|
if pos != -1:
|
|
932
|
-
return tail[:pos].decode(encoding=
|
|
964
|
+
return tail[:pos].decode(encoding=actual_encoding)
|
|
933
965
|
raise TypeError("Unterminated String!!!")
|
|
934
|
-
return self.read_string(addr, encoding=
|
|
935
|
-
|
|
936
|
-
def write_asam_string(self, addr: int, value: str, dtype: str, **kws) -> None:
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
966
|
+
return self.read_string(addr, encoding=actual_encoding, length=length, **kws)
|
|
967
|
+
|
|
968
|
+
def write_asam_string(self, addr: int, value: str, dtype: str, encoding: str | None = None, **kws) -> None:
|
|
969
|
+
"""Write an ASAM string to the section with a null terminator.
|
|
970
|
+
|
|
971
|
+
Args:
|
|
972
|
+
addr: Absolute memory address to write to.
|
|
973
|
+
value: String to write.
|
|
974
|
+
dtype: ASAM string datatype (``"ASCII"``, ``"UTF8"``, ``"UTF16"``, ``"UTF32"``).
|
|
975
|
+
encoding: Optional Python codec name that overrides the encoding implied by
|
|
976
|
+
*dtype* (e.g. ``"latin-1"``, ``"cp1252"``). Use this when the string
|
|
977
|
+
contains characters outside the standard ASAM mapping – for example
|
|
978
|
+
``Ü`` (``\\xdc`` in Latin-1) in a nominally-ASCII field. When *None*
|
|
979
|
+
(default), the encoding is derived from *dtype* as usual.
|
|
980
|
+
|
|
981
|
+
Raises:
|
|
982
|
+
InvalidAddressError: If address is out of bounds or write would exceed section.
|
|
983
|
+
TypeError: If *dtype* is not a supported ASAM string type and no explicit
|
|
984
|
+
*encoding* is given.
|
|
985
|
+
|
|
986
|
+
Example::
|
|
943
987
|
|
|
988
|
+
sec = Section(0x1000, bytearray(64))
|
|
989
|
+
text = '#MSV90-N52TÜ-B25-OL-F010-ULEV2-HGAG-LL-K'
|
|
990
|
+
sec.write_asam_string(0x1000, text, "ASCII", encoding="latin-1")
|
|
991
|
+
"""
|
|
992
|
+
if encoding is not None:
|
|
993
|
+
actual_encoding = encoding
|
|
994
|
+
else:
|
|
995
|
+
actual_encoding = ASAM_STRING_ENCODINGS.get(dtype.strip().upper())
|
|
996
|
+
if actual_encoding is None:
|
|
997
|
+
raise TypeError(f"Unsupported ASAM string datatype {dtype!r}")
|
|
944
998
|
offset = addr - self.start_address
|
|
945
999
|
if offset < 0:
|
|
946
1000
|
raise InvalidAddressError(f"write_asam_string(0x{addr:08x}) access out of bounds.")
|
|
947
|
-
encoded = value.encode(encoding=
|
|
948
|
-
terminator = "\x00".encode(encoding=
|
|
1001
|
+
encoded = value.encode(encoding=actual_encoding)
|
|
1002
|
+
terminator = "\x00".encode(encoding=actual_encoding)
|
|
949
1003
|
total_length = len(encoded) + len(terminator)
|
|
950
1004
|
if offset + total_length > self.length:
|
|
951
1005
|
raise InvalidAddressError(f"write_asam_string(0x{addr:08x}) access out of bounds.")
|
|
@@ -1330,7 +1384,6 @@ def join_sections(sections: list[Section]) -> list[Section]:
|
|
|
1330
1384
|
sorted_sections = sorted(sections, key=attrgetter("start_address"))
|
|
1331
1385
|
|
|
1332
1386
|
for section in sorted_sections:
|
|
1333
|
-
|
|
1334
1387
|
if not result_sections:
|
|
1335
1388
|
result_sections.append(Section(section.start_address, section.data))
|
|
1336
1389
|
continue
|
|
@@ -1051,3 +1051,57 @@ def test_cross_numeric_array_to_ndarray_column_dir_3d():
|
|
|
1051
1051
|
result = sec.read_asam_ndarray(0, 12, "UBYTE", shape=(3, 2, 2), index_mode="COLUMN_DIR", byte_order="MSB_LAST")
|
|
1052
1052
|
assert result.shape == (2, 2, 3)
|
|
1053
1053
|
assert np.array_equal(result, expected)
|
|
1054
|
+
|
|
1055
|
+
|
|
1056
|
+
# ---------------------------------------------------------------------------
|
|
1057
|
+
# ASAM string with custom encoding override
|
|
1058
|
+
# ---------------------------------------------------------------------------
|
|
1059
|
+
|
|
1060
|
+
# Raw bytes from a real ECU that contain \xdc (Ü in Latin-1) but are stored
|
|
1061
|
+
# in a field declared as "ASCII". Neither "ascii" nor "utf-8" can decode them.
|
|
1062
|
+
_LATIN1_RAW = b"#MSV90-N52T\xdc-B25-OL-F010-ULEV2-HGAG-LL-K"
|
|
1063
|
+
_LATIN1_STR = _LATIN1_RAW.decode("latin-1") # '#MSV90-N52TÜ-B25-OL-F010-ULEV2-HGAG-LL-K'
|
|
1064
|
+
|
|
1065
|
+
|
|
1066
|
+
def test_read_asam_string_custom_encoding_latin1():
|
|
1067
|
+
"""read_asam_string with encoding='latin-1' decodes bytes that would fail as ASCII."""
|
|
1068
|
+
data = bytearray(_LATIN1_RAW) + b"\x00"
|
|
1069
|
+
sec = Section(start_address=0x1000, data=data)
|
|
1070
|
+
result = sec.read_asam_string(0x1000, "ASCII", encoding="latin-1")
|
|
1071
|
+
assert result == _LATIN1_STR
|
|
1072
|
+
|
|
1073
|
+
|
|
1074
|
+
def test_write_asam_string_custom_encoding_latin1():
|
|
1075
|
+
"""write_asam_string with encoding='latin-1' round-trips a string containing non-ASCII."""
|
|
1076
|
+
sec = Section(start_address=0x1000, data=bytearray(64))
|
|
1077
|
+
sec.write_asam_string(0x1000, _LATIN1_STR, "ASCII", encoding="latin-1")
|
|
1078
|
+
raw = bytes(sec.data[: len(_LATIN1_RAW)])
|
|
1079
|
+
assert raw == _LATIN1_RAW
|
|
1080
|
+
# null terminator must follow immediately
|
|
1081
|
+
assert sec.data[len(_LATIN1_RAW)] == 0
|
|
1082
|
+
|
|
1083
|
+
|
|
1084
|
+
def test_asam_string_encoding_roundtrip_latin1():
|
|
1085
|
+
"""Full write→read round-trip for a Latin-1 encoded ASAM ASCII string."""
|
|
1086
|
+
sec = Section(start_address=0x2000, data=bytearray(64))
|
|
1087
|
+
sec.write_asam_string(0x2000, _LATIN1_STR, "ASCII", encoding="latin-1")
|
|
1088
|
+
result = sec.read_asam_string(0x2000, "ASCII", encoding="latin-1")
|
|
1089
|
+
assert result == _LATIN1_STR
|
|
1090
|
+
|
|
1091
|
+
|
|
1092
|
+
def test_read_asam_string_ascii_still_works():
|
|
1093
|
+
"""Existing ASCII behaviour (no custom encoding) is not broken."""
|
|
1094
|
+
text = "MOTOR"
|
|
1095
|
+
data = bytearray(text, "ascii") + b"\x00"
|
|
1096
|
+
sec = Section(start_address=0, data=bytearray(data) + bytearray(16))
|
|
1097
|
+
result = sec.read_asam_string(0, "ASCII")
|
|
1098
|
+
assert result == text
|
|
1099
|
+
|
|
1100
|
+
|
|
1101
|
+
def test_write_asam_string_utf8_still_works():
|
|
1102
|
+
"""Existing UTF8 behaviour (no custom encoding) is not broken."""
|
|
1103
|
+
text = "Drehzahl"
|
|
1104
|
+
sec = Section(start_address=0, data=bytearray(64))
|
|
1105
|
+
sec.write_asam_string(0, text, "UTF8")
|
|
1106
|
+
result = sec.read_asam_string(0, "UTF8")
|
|
1107
|
+
assert result == text
|
|
@@ -4,7 +4,7 @@ build-backend = "scikit_build_core.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "objutils"
|
|
7
|
-
version = "0.10.
|
|
7
|
+
version = "0.10.16"
|
|
8
8
|
description = "Objectfile library for Python"
|
|
9
9
|
authors = [
|
|
10
10
|
{name = "Christoph Schueler", email = "cpu12.gems@googlemail.com"}
|
|
@@ -126,7 +126,7 @@ skip = ["*_i686", "*-musllinux*"]
|
|
|
126
126
|
build-frontend = "build"
|
|
127
127
|
|
|
128
128
|
[tool.bumpver]
|
|
129
|
-
current_version = "0.10.
|
|
129
|
+
current_version = "0.10.16"
|
|
130
130
|
version_pattern = "MAJOR.MINOR.PATCH"
|
|
131
131
|
commit_message = "bump version {old_version} -> {new_version}"
|
|
132
132
|
commit = true
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/checksums.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{objutils-0.10.15 → objutils-0.10.16}/docs/docs/_build/html/_modules/objutils/exceptions.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|