From 24825d690373ebde88aabfbf81fe6d78b9807737 Mon Sep 17 00:00:00 2001
From: Alina Quereilhac <alina.quereilhac@inria.fr>
Date: Wed, 10 Oct 2012 11:32:26 +0200
Subject: [PATCH] Bug fixing OMF metadata.

---
 examples/omf-plexuslab-vlc.py     |  2 +-
 src/nepi/testbeds/omf/metadata.py | 14 ++++++--------
 2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/examples/omf-plexuslab-vlc.py b/examples/omf-plexuslab-vlc.py
index 3ffabe47..3c29d817 100644
--- a/examples/omf-plexuslab-vlc.py
+++ b/examples/omf-plexuslab-vlc.py
@@ -71,7 +71,7 @@ route2.set_attribute_value("Destination", "224.0.0.0")
 route2.set_attribute_value("NetPrefix", 4)
 route2.set_attribute_value("Device", "wlan0")
 
-# Add a channel... this could be ommited
+# Add a channel
 channel = omf_desc.create("Channel")
 channel.set_attribute_value("mode", "adhoc")
 channel.set_attribute_value("channel", "6")
diff --git a/src/nepi/testbeds/omf/metadata.py b/src/nepi/testbeds/omf/metadata.py
index faca73f1..55d48c89 100644
--- a/src/nepi/testbeds/omf/metadata.py
+++ b/src/nepi/testbeds/omf/metadata.py
@@ -118,22 +118,20 @@ class OmfWifiInterface(OmfResource):
             raise RuntimeError("Can't instantiate interface %d outside node" % guid)
 
         self._node_guid = node_guids[0] 
-        self.alias = None
+        self.alias = self.tc._get_parameters(self.guid)['alias']
+        self.devname = self.alias2name.get(self.alias)
         self.mode = None
         self.type = None
         self.essid = None
         self.channel = None
         self.ip = None
-        self.devname = None
 
     def __setattr__(self, name, value):
-        if name == "alias":
-            self.devname = self.alias2name.get(value)
-
         if name in ["ip", "mode", "type", "essid", "channel"]:
-            node = self.tc.elements.get(self._node_guid)    
-            attribute = "net/%s/%s" % (self.alias, name)
-            self._tc().api.configure(node.hostname, attribute, value)
+            if value is not None:
+                node = self.tc.elements.get(self._node_guid)    
+                attribute = "net/%s/%s" % (self.alias, name)
+                self._tc().api.configure(node.hostname, attribute, value)
         
         super(OmfWifiInterface, self).__setattr__(name, value)
 
-- 
2.47.0