aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python/topology.py
diff options
context:
space:
mode:
authorVratko Polak <vrpolak@cisco.com>2018-09-04 19:19:11 +0200
committerPeter Mikus <pmikus@cisco.com>2018-09-05 08:14:11 +0000
commitb4e5c717f5e2c39ded81f0c6f7b0f9f61945befd (patch)
treeb6ea5dd837375dc9661d98087cc3cff31bc04c63 /resources/libraries/python/topology.py
parent0ad00a491e7c39f126abcd087bc2743dbdc3a1af (diff)
Fix various pylint violations
+ SchedUtils.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + VatHistory.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + VppCounters.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + Memif.py: ++ Do not use `len(SEQUENCE)` to determine if a sequence is empty ++ Either all return statements in a function should return an expression, or none of them should. ++ Update :return: on possible None. + Classify.py: Unnecessary "else" after "return" + ContainerUtils.py: Useless super delegation in method '__init__' + CpuUtils.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + DropRateSearch.py: Either all return statements in a function should return an expression, or none of them should. + IPv4NodeAddress.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty ++ Also improve docstrings. + IPv4Setup.py: Useless super delegation in method '__init__' + IPv6Setup.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty ++ Also improve docstrings. + IPv6Setup.py: standard import "from ipaddress import IPv6Network" should be placed before "from robot.api import logger" + MacSwap.py: Trailing newlines + NATUtil.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + NodePath.py: Unnecessary "else" after "return" + Tap.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + topology.py: Either all return statements in a function should return an expression, or none of them should. + topology.py: Unnecessary "else" after "return" ++ Do not use `len(SEQUENCE)` to determine if a sequence is empty ++ Improve docstrings + DUTSetup.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty ++ Also do not compare int(ret_code) just to access zero-ness. + ssh.py: Do not use `len(SEQUENCE)` to determine if a sequence is empty + InterfaceUtil.py: Unnecessary "else" after "return" Change-Id: Iba4244aa79661ee7df15fed5c7c6dbf04dfa88b2 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Diffstat (limited to 'resources/libraries/python/topology.py')
-rw-r--r--resources/libraries/python/topology.py36
1 files changed, 18 insertions, 18 deletions
diff --git a/resources/libraries/python/topology.py b/resources/libraries/python/topology.py
index d60bed1b5b..82516beb6b 100644
--- a/resources/libraries/python/topology.py
+++ b/resources/libraries/python/topology.py
@@ -394,13 +394,13 @@ class Topology(object):
:type node: dict
:type iface_key: str/int
:returns: Return sw_if_index or None if not found.
+ :rtype: int or None
"""
try:
if isinstance(iface_key, basestring):
return node['interfaces'][iface_key].get('vpp_sw_index')
# TODO: use only iface_key, do not use integer
- else:
- return int(iface_key)
+ return int(iface_key)
except (KeyError, ValueError):
return None
@@ -416,11 +416,10 @@ class Topology(object):
:raises TypeError: If provided interface name is not a string.
"""
try:
- if isinstance(iface_name, basestring):
- iface_key = Topology.get_interface_by_name(node, iface_name)
- return node['interfaces'][iface_key].get('vpp_sw_index')
- else:
+ if not isinstance(iface_name, basestring):
raise TypeError("Interface name must be a string.")
+ iface_key = Topology.get_interface_by_name(node, iface_name)
+ return node['interfaces'][iface_key].get('vpp_sw_index')
except (KeyError, ValueError):
return None
@@ -565,6 +564,8 @@ class Topology(object):
:param iface_keys: Interface keys for lookup.
:type node: dict
:type iface_keys: strings
+ :returns: Numa node of most given interfaces or 0.
+ :rtype: int
"""
numa_list = []
for if_key in iface_keys:
@@ -575,12 +576,11 @@ class Topology(object):
numa_cnt_mc = Counter(numa_list).most_common()
- if len(numa_cnt_mc) > 0 and numa_cnt_mc[0][0] != -1:
+ if numa_cnt_mc and numa_cnt_mc[0][0] != -1:
return numa_cnt_mc[0][0]
- elif len(numa_cnt_mc) > 1 and numa_cnt_mc[0][0] == -1:
+ if len(numa_cnt_mc) > 1 and numa_cnt_mc[0][0] == -1:
return numa_cnt_mc[1][0]
- else:
- return 0
+ return 0
@staticmethod
def get_interface_mac(node, iface_key):
@@ -650,6 +650,7 @@ class Topology(object):
continue
if if_val['link'] == link_name:
return node_data, if_key
+ return None
@staticmethod
def get_interface_pci_addr(node, iface_key):
@@ -716,8 +717,8 @@ class Topology(object):
:param filter_list: Link filter criteria.
:type node: dict
:type filter_list: list of strings
- :returns: List of strings representing link names occupied by the node.
- :rtype: list
+ :returns: List of link names occupied by the node.
+ :rtype: None or list of string
"""
interfaces = node['interfaces']
link_names = []
@@ -732,7 +733,7 @@ class Topology(object):
.format(str(interface)))
else:
link_names.append(interface['link'])
- if len(link_names) == 0:
+ if not link_names:
link_names = None
return link_names
@@ -782,15 +783,14 @@ class Topology(object):
:param node2: Connected node.
:type node1: dict
:type node2: dict
- :returns: Name of link connecting the two nodes together.
+ :returns: Name of a link connecting the two nodes together.
:rtype: str
:raises RuntimeError: If no links are found.
"""
connecting_links = self.get_active_connecting_links(node1, node2)
- if len(connecting_links) == 0:
+ if not connecting_links:
raise RuntimeError("No links connecting the nodes were found")
- else:
- return connecting_links[0]
+ return connecting_links[0]
@keyword('Get egress interfaces name on "${node1}" for link with '
'"${node2}"')
@@ -806,7 +806,7 @@ class Topology(object):
"""
interfaces = []
links = self.get_active_connecting_links(node1, node2)
- if len(links) == 0:
+ if not links:
raise RuntimeError('No link between nodes')
for interface in node1['interfaces'].values():
link = interface.get('link')