diff options
author | Vratko Polak <vrpolak@cisco.com> | 2018-09-04 19:19:11 +0200 |
---|---|---|
committer | Peter Mikus <pmikus@cisco.com> | 2018-09-05 08:14:11 +0000 |
commit | b4e5c717f5e2c39ded81f0c6f7b0f9f61945befd (patch) | |
tree | b6ea5dd837375dc9661d98087cc3cff31bc04c63 /resources/libraries/python/topology.py | |
parent | 0ad00a491e7c39f126abcd087bc2743dbdc3a1af (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.py | 36 |
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') |