diff options
Diffstat (limited to 'resources/libraries/python/IPv6Setup.py')
-rw-r--r-- | resources/libraries/python/IPv6Setup.py | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/resources/libraries/python/IPv6Setup.py b/resources/libraries/python/IPv6Setup.py index e0de406a4a..260c08b198 100644 --- a/resources/libraries/python/IPv6Setup.py +++ b/resources/libraries/python/IPv6Setup.py @@ -13,8 +13,8 @@ """Library to set up IPv6 in topology.""" -from robot.api import logger from ipaddress import IPv6Network +from robot.api import logger from resources.libraries.python.ssh import SSH from resources.libraries.python.topology import NodeType, Topology @@ -25,17 +25,22 @@ from resources.libraries.python.VatExecutor import VatTerminal, VatExecutor class IPv6Networks(object): """IPv6 network iterator. - :param networks: List of the available IPv6 networks. - :type networks: list + TODO: Conform to https://docs.python.org/2/library/stdtypes.html#typeiter """ + def __init__(self, networks): - self._networks = list() + """Initialize internal list of valid networks. + + :param networks: List of the available IPv6 networks. + :type networks: list + :raise RuntimeError: If no networks were added. + """ + self._networks = [] for network in networks: net = IPv6Network(unicode(network)) self._networks.append(net) - num = len(self._networks) - if num == 0: - raise Exception('No IPv6 networks') + if not self._networks: + raise RuntimeError('No IPv6 networks') def next_network(self): """Get the next element of the iterator. @@ -44,7 +49,7 @@ class IPv6Networks(object): :rtype: IPv6Network object :raises StopIteration: If there is no more elements. """ - if len(self._networks): + if self._networks: return self._networks.pop() else: raise StopIteration() |