applied the except and raise fixers to the master branch to close the gap with py3
[nepi.git] / src / nepi / resources / ns3 / ns3propagationlossmodel.py
index 617f8cf..9c6c3c7 100644 (file)
@@ -3,9 +3,8 @@
 #    Copyright (C) 2014 INRIA
 #
 #    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
+#    it under the terms of the GNU General Public License version 2 as
+#    published by the Free Software Foundation;
 #
 #    This program is distributed in the hope that it will be useful,
 #    but WITHOUT ANY WARRANTY; without even the implied warranty of
 
 from nepi.execution.resource import clsinit_copy
 from nepi.resources.ns3.ns3base import NS3Base
-from nepi.resources.ns3.ns3channel import NS3BaseChannel
 
 @clsinit_copy
 class NS3BasePropagationLossModel(NS3Base):
     _rtype = "ns3::PropagationLossModel"
 
     @property
-    def simulator(self):
-        channel = self.channel
-        if channel: return channel.simulator
-        return None
+    def simulation(self):
+        return self.channel.simulation
 
     @property
     def channel(self):
-        channels = self.get_connected(NS3BaseChannel.get_rtype())
-        if channels: return channels[0]
-        return None
+        from nepi.resources.ns3.ns3wifichannel import NS3BaseWifiChannel
+        channels = self.get_connected(NS3BaseWifiChannel.get_rtype())
+
+        if not channels: 
+            msg = "PropagationLossModel not connected to channel"
+            self.error(msg)
+            raise RuntimeError(msg)
+
+        return channels[0]
 
     @property
-    def others_to_wait(self):
+    def _rms_to_wait(self):
         others = set()
-        channel = self.channel
-        if channel: others.add(channel)
+        others.add(self.channel)
         return others
 
     def _connect_object(self):
         channel = self.channel
-        if channel and channel.uuid not in self.connected:
-            self.simulator.invoke(channel.uuid, "SetPropagationLossModel", self.uuid)
+        if channel.uuid not in self.connected:
+            self.simulation.invoke(channel.uuid, "SetPropagationLossModel", self.uuid)
             self._connected.add(channel.uuid)