File: //proc/self/root/lib/python3.6/site-packages/netaddr/ip/__pycache__/__init__.cpython-36.pyc
3
��]� � @ s@ d Z ddlZddlmZmZmZmZmZm Z m
Z
mZmZm
Z
ddlmZmZ ddlmZmZmZmZmZ G dd� de�ZG dd � d e�ZG d
d� de�ZdUd
d�ZG dd� dee�ZG dd� dee�Zdd� Z dd� Z!dd� Z"dd� Z#dd� Z$dd� Z%dVd d!�Z&d"d#� Z'd$d%� Z(d&d'� Z)d(d)� Z*ed*�Z+ed+�ed,�ed-�ed.�ed/�ed0�ed1d2�fZ,ed3�Z-ed4�Z.ed5�Z/ed6�ed7�ed8�ed9�ed:�ed;�ed<d=�ed>d?�fe+e/f Z0ed@�Z1edA�edB�fZ2edC�Z3edD�Z4edE�edF�edG�edH�edI�edJ�edK�edL�edM�edN�edO�edP�edQ�edR�edS�edT�fZ5dS )Wz9Routines for IPv4 and IPv6 addresses, subnets and ranges.� N)
�AddrFormatError�AddrConversionError�num_bits�
DictDotLookup�NOHOST�N� INET_PTON�P�ZEROFILL�Z)�ipv4�ipv6)�_sys_maxint�_iter_range�_is_str� _int_type� _str_typec @ s� e Zd ZdZd3Zdd� Zdd� Zedd � ed
d�Zdd
� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*d+� Zd,d-� Zed.d/� �Zed0d1� �Zd2S )4�BaseIPzi
An abstract base class for common operations shared between various IP
related subclasses.
�_value�_modulec C s d| _ d| _dS )zConstructor.N)r r )�self� r �/usr/lib/python3.6/__init__.py�__init__ s zBaseIP.__init__c C sP t |t�stdt|� ��d| ko0| jjkn sFtd| jj ��|| _d S )Nzint argument expected, not %sr z&value out of bounds for an %s address!) �
isinstancer � TypeError�typer �max_intr �family_namer )r �valuer r r �
_set_value s
zBaseIP._set_valuec C s | j S )N)r )r r r r �<lambda>( s zBaseIP.<lambda>z?a positive integer representing the value of IP address/subnet.)�docc C s t S )zP
:return: a key tuple that uniquely identifies this IP address.
)�NotImplemented)r r r r �key+ s z
BaseIP.keyc C s t S )zg
:return: A key tuple used to compare and sort this `IPAddress`
correctly.
)r# )r r r r �sort_key1 s zBaseIP.sort_keyc C s t | j� �S )zM
:return: A hash value uniquely indentifying this IP object.
)�hashr$ )r r r r �__hash__8 s zBaseIP.__hash__c C s. y| j � |j � kS ttfk
r( tS X dS )z�
:param other: an `IPAddress` or `IPNetwork` object.
:return: ``True`` if this `IPAddress` or `IPNetwork` object is
equivalent to ``other``, ``False`` otherwise.
N)r$ �AttributeErrorr r# )r �otherr r r �__eq__>