X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=juju%2Fclient%2Foverrides.py;h=3f3caa45576e60dde1853822477741fe4a88a30d;hb=0f8958d1a9861ca196c613c3f1940aa61c4ddc33;hp=1cce4da9b72be980a2ff27594fc52adc59999dc7;hpb=edf3beda420d3a2c66d6ef8fe9b5e45a76d052b9;p=osm%2FN2VC.git diff --git a/juju/client/overrides.py b/juju/client/overrides.py index 1cce4da..3f3caa4 100644 --- a/juju/client/overrides.py +++ b/juju/client/overrides.py @@ -1,3 +1,5 @@ +from collections import namedtuple + from .facade import Type __all__ = [ @@ -6,15 +8,38 @@ __all__ = [ class Delta(Type): - _toSchema = {'deltas': 'Deltas'} - _toPy = {'Deltas': 'deltas'} + """A single websocket delta. + + :ivar entity: The entity name, e.g. 'unit', 'application' + :vartype entity: str + + :ivar type: The delta type, e.g. 'add', 'change', 'remove' + :vartype type: str + + :ivar data: The raw delta data + :vartype data: dict + + NOTE: The 'data' variable above is being incorrectly cross-linked by a + Sphinx bug: https://github.com/sphinx-doc/sphinx/issues/2549 + + """ + _toSchema = {'deltas': 'deltas'} + _toPy = {'deltas': 'deltas'} def __init__(self, deltas=None): - ''' - deltas : [str, str, object] - ''' + """ + :param deltas: [str, str, object] + + """ self.deltas = deltas + Change = namedtuple('Change', 'entity type data') + change = Change(*self.deltas) + + self.entity = change.entity + self.type = change.type + self.data = change.data + @classmethod def from_json(cls, data): return cls(deltas=data)