On Tue, Feb 14, 2017 at 08:51:58PM -0700, Simon Glass wrote: > Add a note about pylibfdt in the README. > > Signed-off-by: Simon Glass <sjg@xxxxxxxxxxxx> > --- > > Changes in v5: > - Use an interactive session to demonstrate pylibfdt > - Mention that more work remains > > Changes in v4: None > Changes in v3: None > Changes in v2: > - Add details on how to obtain full help and code coverage > > README | 43 +++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 43 insertions(+) > > diff --git a/README b/README > index f92008f..d4157ad 100644 > --- a/README > +++ b/README > @@ -7,6 +7,49 @@ DTC and LIBFDT are maintained by: > David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> > Jon Loeliger <jdl@xxxxxxx> > > + > +Python library > +-------------- > + > +A Python library is also available. To build this you will need to install > +swig and Python development files. On Debian distributions: > + > + sudo apt-get install swig python-dev > + > +The library provides an Fdt class which you can use like this: > + > +$ PYTHONPATH=../pylibfdt python > +>>> import libfdt > +>>> fdt = libfdt.Fdt(open('test_tree1.dtb').read()) > +>>> node = fdt.path_offset('/subnode@1') I'd suggest adding some prints of the node values to show that they're integers, rather than some exotic handle. > +>>> prop_offset = fdt.first_property_offset(node) > +>>> prop = fdt.get_property_by_offset(prop_offset) > +>>> print '%s=%s' % (prop.name, prop.value) > +compatible=subnode1 And maybe consider %r instead of %s for the values, to show the included '\0' etc. > +>>> node2 = fdt.path_offset('/') > +>>> print fdt.getprop(node2, 'compatible') > +test_tree1 > + > +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.: > + > + $ cd pylibfdt > + $ python -c "import libfdt; help(libfdt)" > + > +If you add new features, please check code coverage: > + > + $ sudo apt-get install python-pip python-pytest > + $ sudo pip install coverage > + $ cd tests > + $ coverage run pylibfdt_tests.py > + $ coverage html > + # Open 'htmlcov/index.html' in your browser > + > + > +More work remains to support all of libfdt, including access to numeric > +values. > + > + > Mailing list > ------------ > The following list is for discussion about dtc and libfdt implementation -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
Attachment:
signature.asc
Description: PGP signature