X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2FIPv6Setup.py;h=260c08b1989f01e610ed91c88af6bd8317b3cfb0;hp=e0de406a4ae44cdb165997dbaa64ca13d7f3cd1a;hb=b4e5c717f5e2c39ded81f0c6f7b0f9f61945befd;hpb=0ad00a491e7c39f126abcd087bc2743dbdc3a1af 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()