Trivial bug fix
[osm/N2VC.git] / juju / delta.py
index 0b142dd..b1eba23 100644 (file)
@@ -2,27 +2,24 @@ from .client import client
 
 
 def get_entity_delta(d):
-    _delta_types = {
-        'action': ActionDelta,
-        'application': ApplicationDelta,
-        'annotation': AnnotationDelta,
-        'machine': MachineDelta,
-        'unit': UnitDelta,
-        'relation': RelationDelta,
-    }
-
     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']
 
+    @classmethod
     def get_entity_class(self):
         return None
 
 
 class ActionDelta(EntityDelta):
+    @classmethod
     def get_entity_class(self):
         from .action import Action
         return Action
@@ -32,6 +29,7 @@ class ApplicationDelta(EntityDelta):
     def get_id(self):
         return self.data['name']
 
+    @classmethod
     def get_entity_class(self):
         from .application import Application
         return Application
@@ -41,12 +39,14 @@ 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):
+    @classmethod
     def get_entity_class(self):
         from .machine import Machine
         return Machine
@@ -56,12 +56,24 @@ class UnitDelta(EntityDelta):
     def get_id(self):
         return self.data['name']
 
+    @classmethod
     def get_entity_class(self):
         from .unit import Unit
         return Unit
 
 
 class RelationDelta(EntityDelta):
+    @classmethod
     def get_entity_class(self):
         from .relation import Relation
         return Relation
+
+
+_delta_types = {
+    'action': ActionDelta,
+    'application': ApplicationDelta,
+    'annotation': AnnotationDelta,
+    'machine': MachineDelta,
+    'unit': UnitDelta,
+    'relation': RelationDelta,
+}