mirror of
https://github.com/dgibson/dtc.git
synced 2025-10-13 16:27:39 -04:00
README: update for Python 3
Convert the usage to be compatible with Python 3 and the current API. Signed-off-by: Luca Weiss <luca@z3ntu.xyz> Message-Id: <20190817212532.15661-2-luca@z3ntu.xyz> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
5345db19f6
commit
95ce19c140
1 changed files with 12 additions and 14 deletions
26
README
26
README
|
@ -14,45 +14,43 @@ Python library
|
||||||
A Python library is also available. To build this you will need to install
|
A Python library is also available. To build this you will need to install
|
||||||
swig and Python development files. On Debian distributions:
|
swig and Python development files. On Debian distributions:
|
||||||
|
|
||||||
sudo apt-get install swig python-dev
|
sudo apt-get install swig python3-dev
|
||||||
|
|
||||||
The library provides an Fdt class which you can use like this:
|
The library provides an Fdt class which you can use like this:
|
||||||
|
|
||||||
$ PYTHONPATH=../pylibfdt python
|
$ PYTHONPATH=../pylibfdt python3
|
||||||
>>> import libfdt
|
>>> import libfdt
|
||||||
>>> fdt = libfdt.Fdt(open('test_tree1.dtb').read())
|
>>> fdt = libfdt.Fdt(open('test_tree1.dtb', mode='rb').read())
|
||||||
>>> node = fdt.path_offset('/subnode@1')
|
>>> node = fdt.path_offset('/subnode@1')
|
||||||
>>> print node
|
>>> print(node)
|
||||||
124
|
124
|
||||||
>>> prop_offset = fdt.first_property_offset(node)
|
>>> prop_offset = fdt.first_property_offset(node)
|
||||||
>>> prop = fdt.get_property_by_offset(prop_offset)
|
>>> prop = fdt.get_property_by_offset(prop_offset)
|
||||||
>>> print '%s=%r' % (prop.name, prop.value)
|
>>> print('%s=%s' % (prop.name, prop.as_str()))
|
||||||
compatible=bytearray(b'subnode1\x00')
|
|
||||||
>>> print '%s=%s' % (prop.name, prop.value)
|
|
||||||
compatible=subnode1
|
compatible=subnode1
|
||||||
>>> node2 = fdt.path_offset('/')
|
>>> node2 = fdt.path_offset('/')
|
||||||
>>> print fdt.getprop(node2, 'compatible')
|
>>> print(fdt.getprop(node2, 'compatible').as_str())
|
||||||
test_tree1
|
test_tree1
|
||||||
|
|
||||||
You will find tests in tests/pylibfdt_tests.py showing how to use each
|
You will find tests in tests/pylibfdt_tests.py showing how to use each
|
||||||
method. Help is available using the Python help command, e.g.:
|
method. Help is available using the Python help command, e.g.:
|
||||||
|
|
||||||
$ cd pylibfdt
|
$ cd pylibfdt
|
||||||
$ python -c "import libfdt; help(libfdt)"
|
$ python3 -c "import libfdt; help(libfdt)"
|
||||||
|
|
||||||
If you add new features, please check code coverage:
|
If you add new features, please check code coverage:
|
||||||
|
|
||||||
$ sudo apt-get install python-pip python-pytest
|
$ sudo apt-get install python3-coverage
|
||||||
$ sudo pip install coverage
|
|
||||||
$ cd tests
|
$ cd tests
|
||||||
$ coverage run pylibfdt_tests.py
|
# It's just 'coverage' on most other distributions
|
||||||
$ coverage html
|
$ python3-coverage run pylibfdt_tests.py
|
||||||
|
$ python3-coverage html
|
||||||
# Open 'htmlcov/index.html' in your browser
|
# Open 'htmlcov/index.html' in your browser
|
||||||
|
|
||||||
|
|
||||||
To install the library via the normal setup.py method, use:
|
To install the library via the normal setup.py method, use:
|
||||||
|
|
||||||
./pylibfdt/setup.py [--prefix=/path/to/install_dir]
|
./pylibfdt/setup.py install [--prefix=/path/to/install_dir]
|
||||||
|
|
||||||
If --prefix is not provided, the default prefix is used, typically '/usr'
|
If --prefix is not provided, the default prefix is used, typically '/usr'
|
||||||
or '/usr/local'. See Python's distutils documentation for details. You can
|
or '/usr/local'. See Python's distutils documentation for details. You can
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue