* first attempt to decode custom extension objects, broken!
* add new generator for structures
* add test for online structure generator from xml
* improve custom struct test and fix bug in ua_binary
* add lxml dependency
* remove dead code
* pylint fixes
* more robust parsing
* start work on client side
* add script to check init perf
* cleanup extension object code for encoding/decoding and add support for registring on the fly
* finish client implementation for custom structures
* make automatic decoding of custom structs really work on client
* add missing ua_types class member to ExtensionObject class
* Added: handling of Byte, SByte and DateTime convertion from ua to python
* log nodeid in addressspace
* Updated: Removed some duplicate xml parsing.
_parse_value was parsing the child of a node as a constant.
Making it parse a node directly and not its child allows recursive calls
to parse ListOf elements.
_parse_containted_value as been added as a wrapper to obtain former
behavior.
Now ua_type_to_python is simply a wrapper to ua_utils.string_to_val and
_to_bool a wrapper to ua_type_to_python.
All value parsing is performed by ua_utils.string_to_value.
Missing types have been listed as FIXME.
* Added: tests for XML parsing.
Added some tests in tests/tests_xml.py for datatype DateTime (+list),
QualifiedName (+list), ListOfGuid and ListOfExtensionObjects.
Few tweaks in xmlimporter: (i) DateTime is now parsed in string_to_val
and double parsing was causing an error, (ii) single Guid were converted
to UUID while lists were not by default list case.
Another possibility would be either to make the conversion to UUID in xmlparser
or to make the _add_variable_value also recursive but I'm not sure of
other possible consequences.
Finaly it seems according to specs that all DateTime should be timezone
aware so I forced UTC when a timezone was not precised.
Maybe an exception should be raised?
* Added: pytz in requirements
* Added: pytz in travis requirements
* Added: pytz in travis requirements
* - added tools/uacall script
* As suggested by oroulet corrected misunderstandings in signature of
Node.call_method(). No parent needed, just use self.
* Old folks, knowing Python2.x only, keep forgetting that print should
have been a function in the first place...
* small cleanup, add 2 methods in ua_utils.py
* improve and add more tests to string convertions
* update README
* add definition for EvenNotifier and WriteMask, ObjectIdNames and start using them
* update dependency to datetuil
* more use og new Enums, fixes
* DataType cannot always be converted to VariantType