cpython: 8867874a2b7d (original) (raw)

Mercurial > cpython

changeset 90717:8867874a2b7d

Issue #20826: Optimize ipaddress.collapse_addresses(). [#20826]

Antoine Pitrou solipsis@pitrou.net
date Thu, 15 May 2014 20:40:53 +0200
parents 2711677cf874
children dbf728f9a2f0
files Lib/ipaddress.py Misc/NEWS
diffstat 2 files changed, 28 insertions(+), 27 deletions(-)[+] [-] Lib/ipaddress.py 53 Misc/NEWS 2

line wrap: on

line diff

--- a/Lib/ipaddress.py +++ b/Lib/ipaddress.py @@ -253,7 +253,7 @@ def summarize_address_range(first, last) break -def _collapse_addresses_recursive(addresses): +def _collapse_addresses_internal(addresses): """Loops through the addresses, collapsing concurrent netblocks. Example: @@ -263,7 +263,7 @@ def _collapse_addresses_recursive(addres ip3 = IPv4Network('192.0.2.128/26') ip4 = IPv4Network('192.0.2.192/26')

This shouldn't be called directly; it is called via @@ -277,28 +277,29 @@ def _collapse_addresses_recursive(addres passed. """

-

-

def collapse_addresses(addresses): @@ -347,15 +348,13 @@ def collapse_addresses(addresses): # sort and dedup ips = sorted(set(ips))

while i < len(ips): (first, last) = _find_address_range(ips[i:]) i = ips.index(last) + 1 addrs.extend(summarize_address_range(first, last))

def get_mixed_type_key(obj):

--- a/Misc/NEWS +++ b/Misc/NEWS @@ -84,6 +84,8 @@ Core and Builtins Library ------- +- Issue #20826: Optimize ipaddress.collapse_addresses(). +