
    >Tfx                     ~    d dl mZ d dlmZ d dlmZmZ dZ G d dej	                  Z
 G d dej	                  Zd	S )
    )gettext_lazy)serializers)AddrFormatError	IPNetwork)IPAddressFieldIPNetworkFieldc                   8    e Zd ZdZd ed          iZd Zd ZdS )r   z4
    An IPv4 or IPv6 address with optional mask
    invalidz6Enter a valid IPv4 or IPv6 address with optional mask.c                     	 t          |          S # t          $ r5 t          j        t	          d                              |                    t          t          f$ r}t          j        |          d }~ww xY w)Nz!Invalid IP address format: {data}r   r   r   ValidationError_format	TypeError
ValueErrorselfdataes      ?/var/www/html/netbox-4.1.3/netbox/ipam/api/field_serializers.pyto_internal_valuez IPAddressField.to_internal_value   s    	1T??" 	c 	c 	c-a0S.T.T.[.[\`.a.abbb:& 	1 	1 	1-a000	1    AA8A33A8c                      t          |          S Nstrr   values     r   to_representationz IPAddressField.to_representation       5zz    N__name__
__module____qualname____doc__r   default_error_messagesr   r    r!   r   r   r      sV          	11MNN1 1 1    r!   r   c                   8    e Zd ZdZd ed          iZd Zd ZdS )r   z 
    An IPv4 or IPv6 prefix
    r
   z<Enter a valid IPv4 or IPv6 prefix and mask in CIDR notation.c                     	 t          |          S # t          $ r5 t          j        t	          d                              |                    t          t          f$ r}t          j        |          d }~ww xY w)Nz Invalid IP prefix format: {data}r   r   s      r   r   z IPNetworkField.to_internal_value(   s    	1T??" 	b 	b 	b-a0R.S.S.Z.Z[_.`.`aaa:& 	1 	1 	1-a000	1r   c                      t          |          S r   r   r   s     r   r   z IPNetworkField.to_representation0   r    r!   Nr"   r(   r!   r   r   r       sV          	11STT1 1 1    r!   r   N)django.utils.translationr   r   rest_frameworkr   netaddrr   r   __all__	CharFieldr   r   r(   r!   r   <module>r1      s    6 6 6 6 6 6 & & & & & & . . . . . . . .    [*   (    [*     r!   