projects
/
osm
/
N2VC.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add ModelState tests
[osm/N2VC.git]
/
juju
/
delta.py
diff --git
a/juju/delta.py
b/juju/delta.py
index
c7f694d
..
b1eba23
100644
(file)
--- a/
juju/delta.py
+++ b/
juju/delta.py
@@
-2,34
+2,51
@@
from .client import client
def get_entity_delta(d):
def get_entity_delta(d):
- _delta_types = {
- 'application': ApplicationDelta,
- 'machine': MachineDelta,
- 'unit': UnitDelta,
- 'action': ActionDelta,
- }
-
return _delta_types[d.entity](d.deltas)
return _delta_types[d.entity](d.deltas)
+def get_entity_class(entity_type):
+ return _delta_types[entity_type].get_entity_class()
+
+
class EntityDelta(client.Delta):
def get_id(self):
return self.data['id']
class EntityDelta(client.Delta):
def get_id(self):
return self.data['id']
+ @classmethod
def get_entity_class(self):
return None
def get_entity_class(self):
return None
+class ActionDelta(EntityDelta):
+ @classmethod
+ def get_entity_class(self):
+ from .action import Action
+ return Action
+
+
class ApplicationDelta(EntityDelta):
def get_id(self):
return self.data['name']
class ApplicationDelta(EntityDelta):
def get_id(self):
return self.data['name']
+ @classmethod
def get_entity_class(self):
from .application import Application
return Application
def get_entity_class(self):
from .application import Application
return Application
+class AnnotationDelta(EntityDelta):
+ def get_id(self):
+ return self.data['tag']
+
+ @classmethod
+ def get_entity_class(self):
+ from .annotation import Annotation
+ return Annotation
+
+
class MachineDelta(EntityDelta):
class MachineDelta(EntityDelta):
+ @classmethod
def get_entity_class(self):
from .machine import Machine
return Machine
def get_entity_class(self):
from .machine import Machine
return Machine
@@
-39,12
+56,24
@@
class UnitDelta(EntityDelta):
def get_id(self):
return self.data['name']
def get_id(self):
return self.data['name']
+ @classmethod
def get_entity_class(self):
from .unit import Unit
return Unit
def get_entity_class(self):
from .unit import Unit
return Unit
-class ActionDelta(EntityDelta):
+class RelationDelta(EntityDelta):
+ @classmethod
def get_entity_class(self):
def get_entity_class(self):
- from .action import Action
- return Action
+ from .relation import Relation
+ return Relation
+
+
+_delta_types = {
+ 'action': ActionDelta,
+ 'application': ApplicationDelta,
+ 'annotation': AnnotationDelta,
+ 'machine': MachineDelta,
+ 'unit': UnitDelta,
+ 'relation': RelationDelta,
+}