[PATCH master] Remove IPy from nm.py for python 23 compatibility.

Martin Kolman mkolman at redhat.com
Tue Dec 9 10:51:39 UTC 2014


On Tue, 2014-12-09 at 11:20 +0100, Radek Vykydal wrote:
> inet_pton returns bytearray in python3, str in python2, so convert
> the value to bytearray for both cases.
> ---
>  pyanaconda/nm.py | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/pyanaconda/nm.py b/pyanaconda/nm.py
> index a9edad4..40878b2 100644
> --- a/pyanaconda/nm.py
> +++ b/pyanaconda/nm.py
> @@ -21,7 +21,6 @@
>  
>  from gi.repository import Gio, GLib
>  from gi.repository import NetworkManager
> -import IPy
>  import struct
>  import socket
>  import re
> @@ -492,7 +491,8 @@ def nm_device_ip_config(name, version=4):
>  
>      addr_list = []
>      for addr, prefix, gateway in addresses:
> -        # TODO - look for a library function (could have used IPy but byte order!)
> +        # NOTE: There is IPy for python2, ipaddress for python3 but
> +        # byte order of dbus value would need to be switched
>          if version == 4:
>              addr_str = nm_dbus_int_to_ipv4(addr)
>              gateway_str = nm_dbus_int_to_ipv4(gateway)
> @@ -987,7 +987,7 @@ def nm_ipv6_to_dbus_ay(address):
>      :return: address in format 'ay' for NM dbus setting
>      :rtype: list of bytes
>      """
> -    return [int(byte, 16) for byte in re.findall('.{1,2}', IPy.IP(address).strFullsize().replace(':', ''))]
> +    return [int(byte) for byte in bytearray(socket.inet_pton(socket.AF_INET6, address))]
>  
>  def nm_ipv4_to_dbus_int(address):
>      """Convert ipv4 address from string to int for dbus (switched endianess).
Looks good, thanks & ACK! :)



More information about the anaconda-patches mailing list