From 77a7a87cdd4efed632c0bfa07c27b0fa3d637133 Mon Sep 17 00:00:00 2001 From: Christian Hopps Date: Wed, 4 Aug 2021 15:58:28 -0400 Subject: [PATCH] tools: move frr-reload.py to python3 explicitly We already, reasonably, require python3 elsewhere. Do so here, and reap some benefit. Signed-off-by: Christian Hopps --- tools/frr-reload.py | 97 +++++++++++++-------------------------------- 1 file changed, 28 insertions(+), 69 deletions(-) diff --git a/tools/frr-reload.py b/tools/frr-reload.py index 7c6a83a51d..a7f205c48c 100755 --- a/tools/frr-reload.py +++ b/tools/frr-reload.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python3 # Frr Reloader # Copyright (C) 2014 Cumulus Networks, Inc. # @@ -39,26 +39,12 @@ import string import subprocess import sys from collections import OrderedDict - -try: - from ipaddress import IPv6Address, ip_network -except ImportError: - from ipaddr import IPv6Address, IPNetwork +from ipaddress import IPv6Address, ip_network from pprint import pformat -try: - dict.iteritems -except AttributeError: - # Python 3 - def iteritems(d): - return iter(d.items()) - - -else: - # Python 2 - def iteritems(d): - return d.iteritems() - +# Python 3 +def iteritems(d): + return iter(d.items()) log = logging.getLogger(__name__) @@ -372,22 +358,13 @@ class Config(object): addr = re_key_rt.group(2) if "/" in addr: try: - if "ipaddress" not in sys.modules: - newaddr = IPNetwork(addr) - key[0] = "%s route %s/%s%s" % ( - re_key_rt.group(1), - newaddr.network, - newaddr.prefixlen, - re_key_rt.group(3), - ) - else: - newaddr = ip_network(addr, strict=False) - key[0] = "%s route %s/%s%s" % ( - re_key_rt.group(1), - str(newaddr.network_address), - newaddr.prefixlen, - re_key_rt.group(3), - ) + newaddr = ip_network(addr, strict=False) + key[0] = "%s route %s/%s%s" % ( + re_key_rt.group(1), + str(newaddr.network_address), + newaddr.prefixlen, + re_key_rt.group(3), + ) except ValueError: pass @@ -398,17 +375,11 @@ class Config(object): addr = re_key_rt.group(4) if "/" in addr: try: - if "ipaddress" not in sys.modules: - newaddr = "%s/%s" % ( - IPNetwork(addr).network, - IPNetwork(addr).prefixlen, - ) - else: - network_addr = ip_network(addr, strict=False) - newaddr = "%s/%s" % ( - str(network_addr.network_address), - network_addr.prefixlen, - ) + network_addr = ip_network(addr, strict=False) + newaddr = "%s/%s" % ( + str(network_addr.network_address), + network_addr.prefixlen, + ) except ValueError: newaddr = addr else: @@ -444,20 +415,12 @@ class Config(object): addr = addr + "/8" try: - if "ipaddress" not in sys.modules: - newaddr = IPNetwork(addr) - line = "network %s/%s %s" % ( - newaddr.network, - newaddr.prefixlen, - re_net.group(2), - ) - else: - network_addr = ip_network(addr, strict=False) - line = "network %s/%s %s" % ( - str(network_addr.network_address), - network_addr.prefixlen, - re_net.group(2), - ) + network_addr = ip_network(addr, strict=False) + line = "network %s/%s %s" % ( + str(network_addr.network_address), + network_addr.prefixlen, + re_net.group(2), + ) newlines.append(line) except ValueError: # Really this should be an error. Whats a network @@ -785,15 +748,11 @@ def get_normalized_ipv6_line(line): norm_word = None if "/" in word: try: - if "ipaddress" not in sys.modules: - v6word = IPNetwork(word) - norm_word = "%s/%s" % (v6word.network, v6word.prefixlen) - else: - v6word = ip_network(word, strict=False) - norm_word = "%s/%s" % ( - str(v6word.network_address), - v6word.prefixlen, - ) + v6word = ip_network(word, strict=False) + norm_word = "%s/%s" % ( + str(v6word.network_address), + v6word.prefixlen, + ) except ValueError: pass if not norm_word: -- 2.39.5