projects
/
osm
/
N2VC.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #20 from simonklb/get-metrics
[osm/N2VC.git]
/
juju
/
delta.py
diff --git
a/juju/delta.py
b/juju/delta.py
index
ea15f24
..
b1eba23
100644
(file)
--- a/
juju/delta.py
+++ b/
juju/delta.py
@@
-2,29
+2,34
@@
from .client import client
def get_entity_delta(d):
def get_entity_delta(d):
- _delta_types = {
- 'application': ApplicationDelta,
- 'annotation': AnnotationDelta,
- '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
@@
-34,12
+39,14
@@
class AnnotationDelta(EntityDelta):
def get_id(self):
return self.data['tag']
def get_id(self):
return self.data['tag']
+ @classmethod
def get_entity_class(self):
from .annotation import Annotation
return Annotation
class MachineDelta(EntityDelta):
def get_entity_class(self):
from .annotation import Annotation
return Annotation
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
@@
-49,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,
+}