https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/django/contrib/gis/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/django/contrib/gis/__pycache__/measure.cpython-310.pyc
o

�a&/�@sxdZddlmZddlmZgd�ZeeefZdZ	dd�Z
eGdd	�d	��ZGd
d�de�ZGdd
�d
e�Z
eZe
ZdS)a
Distance and Area objects to allow for sensible and convenient calculation
and conversions.

Authors: Robert Coup, Justin Bronn, Riccardo Di Virgilio

Inspired by GeoPy (https://github.com/geopy/geopy)
and Geoff Biggs' PhD work on dimensioned units for robotics.
�)�Decimal)�total_ordering)�A�Area�D�Distance�sq_cCs|jtkr|jS|jjS�N)�	__class__�type�__name__)�obj�r�</usr/lib/python3/dist-packages/django/contrib/gis/measure.py�pretty_name/src@s�eZdZdZiZiZiZd,dd�Zdd�Zdd�Z	e
ee	�Zdd	�Zd
d�Z
dd
�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zed*d+��ZdS)-�MeasureBaseNcKs>|�|�\}|_t||j|�|rt|t�r||_dSdSdSr	)�
default_units�
_default_unit�setattr�
STANDARD_UNIT�
isinstance�str)�self�default_unit�kwargs�valuerrr�__init__:s

�zMeasureBase.__init__cCst||j�Sr	)�getattrr�rrrr�
_get_standard@szMeasureBase._get_standardcCst||j|�dSr	)rr)rrrrr�
_set_standardCszMeasureBase._set_standardcCs&||jvr
|j|j|Std|��)N�Unknown unit type: %s)�UNITS�standard�AttributeError)r�namerrr�__getattr__Hs
zMeasureBase.__getattr__cCsdt|�|jt||j�fS)Nz	%s(%s=%s))rrrrrrr�__repr__NszMeasureBase.__repr__cCsdt||j�|jfS)Nz%s %s)rrrrrr�__str__QszMeasureBase.__str__cCst||j�r|j|jkStSr	�rr
r#�NotImplemented�r�otherrrr�__eq__V�zMeasureBase.__eq__cC�
t|j�Sr	)�hashr#rrrr�__hash__\�
zMeasureBase.__hash__cCst||j�r|j|jkStSr	r)r+rrr�__lt___r.zMeasureBase.__lt__cCsDt||j�r|jdd|ji|j|j|ji��Stddt|�i��)Nr�&%(class)s must be added with %(class)s�classr�rr
rrr#�	TypeErrorrr+rrr�__add__g���zMeasureBase.__add__cCs4t||j�r|j|j7_|Stddt|�i��)Nr4r5�rr
r#r7rr+rrr�__iadd__p�zMeasureBase.__iadd__cCsDt||j�r|jdd|ji|j|j|ji��Stddt|�i��)Nr�+%(class)s must be subtracted from %(class)sr5rr6r+rrr�__sub__wr9zMeasureBase.__sub__cCs4t||j�r|j|j8_|Stddt|�i��)Nr=r5r:r+rrr�__isub__�r<zMeasureBase.__isub__cCs@t|t�r|jdd|ji|j|j|i��Stddt|�i��)Nr�(%(class)s must be multiplied with numberr5r�r�
NUMERIC_TYPESr
rrr#r7rr+rrr�__mul__��
��zMeasureBase.__mul__cCs4t|t�r|jt|�9_|Stddt|�i��)Nr@r5�rrBr#�floatr7rr+rrr�__imul__��
zMeasureBase.__imul__cCs||Sr	rr+rrr�__rmul__�szMeasureBase.__rmul__cCsXt||j�r|j|jSt|t�r"|jdd|ji|j|j|i��Stddt|�i��)Nrz2%(class)s must be divided with number or %(class)sr5r)rr
r#rBrrr7rr+rrr�__truediv__�s
��zMeasureBase.__truediv__cCs4t|t�r|jt|�_|Stddt|�i��)Nz%%(class)s must be divided with numberr5rEr+rrr�__itruediv__�rHzMeasureBase.__itruediv__cCr/r	)�boolr#rrrr�__bool__�r2zMeasureBase.__bool__cCs�d}|j}|��D]d\}}t|t�st|�}||jvr'||j||7}|}q	||jvr=|j|}||j||7}|}q	|��}||jvrR||j||7}|}q	||jvrh|j|}||j||7}|}q	td|��||fS)z|
        Return the unit value and the default units specified
        from the given keyword arguments dictionary.
        gr!)	r�itemsrrFr"�ALIAS�lower�LALIASr$)rr�valr�unitr�urPrrrr�s,






zMeasureBase.default_unitscCsD|��}||jvr|S||jvr|S||jvr|j|Std|��)z�
        Retrieve the unit attribute name for the given unit string.
        For example, if the given unit string is 'metre', return 'm'.
        Raise an exception if an attribute cannot be found.
        z2Could not find a unit keyword associated with "%s")rPr"rQ�	Exception)�cls�unit_strrPrrr�unit_attname�s



zMeasureBase.unit_attnamer	)r�
__module__�__qualname__rrOr"rQrrr �propertyr#r&r'r(r-r1r3r8r;r>r?rCrGrIrJrKrMr�classmethodrXrrrrr3s8

			rc@s�eZdZdZidd�dd�dd�dd	�d
d�dd
�dd�dd�dd�dd�dd�dd�dd�dd�dd�d d!�d"d#�d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3��Zid4d�d5d�d6d7�d8d9�d:d9�d;d�d<d�d=d>�d?d>�d@dA�dBdA�dCdD�dEdF�dGd�dHd
�dId�dJd�idKd�dLd�dMd�dNd�dOd�dPd�dQd�dRd�dSd�dTd�dUd �dVd"�dWdX�dYdZ�d[d\�d]d^�d_d`��d`d"dadb��Zdcdd�e��D�Zdedf�ZdgS)hr�m�chaing=,Ԛ�4@�chain_benoitg���l�4@�chain_searsgs�<G�4@�british_chain_benoitg|1"u�4@�british_chain_searsgᕪQ�4@�british_chain_sears_truncatedg�����4@�cmg{�G�z�?�
british_ftgG��Ձ�?�
british_ydglG�v�B�?�	clarke_ftg)h�ć�?�clarke_linkg#�Zп�?�fathomg�����B�?�ftg����ׁ�?�furlonggL7�A`%i@�german_mg�]�A�?�
gold_coast_ftg��äց�?�	indian_ydg/�!��B�?g�
F%u�?g@�@g�8�~߿�?g�,�ݿ�?g���ܿ�?g�?gL7�A`%�@g����MbP?g�@g�~j��@g=,Ԛ�@g\�Nt�B�?g�`�jځ�?g���ư>g�����B�?)�inch�km�link�link_benoit�
link_searsr]�mi�mm�nm�nm_uk�rod�sears_yd�	survey_ft�um�yd�
centimeter�foot�inchesro�	kilometerrp�	kilometre�meter�metre�
micrometerr{�
micrometre�
millimeterru�
millimetre�milert�yardr|zBritish chain (Benoit 1895 B)zBritish chain (Sears 1922)z$British chain (Sears 1922 truncated)zBritish foot (Sears 1922)zBritish footzBritish yard (Sears 1922)zBritish yardz
Clarke's Footz
Clarke's linkzChain (Benoit)z
Chain (Sears)zFoot (International)zFurrow LongzGerman legal metrezGold Coast footzIndian yardz
Link (Benoit)rrzLink (Sears)rsz
Nautical MilervzNautical Mile (UK)rwzUS survey footrzry)z	U.S. Footz
Yard (Indian)zYard (Sears)cC�i|]	\}}|��|�qSr�rP��.0�k�vrrr�
<dictcomp>,�zDistance.<dictcomp>cCsxt||j�rtddt|jit|j|j|ji��St|t�r1|jdd|ji|j|j|i��Stddt	|j�i��)Nrz;%(distance)s must be multiplied with number or %(distance)s�distancer)
rr
r�AREA_PREFIXrrr#rBr7rr+rrrrC.s��
��
�zDistance.__mul__N)	rrYrZrr"rOrNrQrCrrrrr�s��������	�
���
������$��������	�
���
������������������� �!�"�#�'rc@sXeZdZeejZdd�ej��D�Zdd�ej��D�Zdd�e��D�Z	dd�Z
dS)rcCs"i|]
\}}dt|f|d�qS)�%s%s��r�r�rrrr�Bs"zArea.<dictcomp>cCsi|]\}}|dt|f�qS)r�r�r�rrrr�CscCr�rr�r�rrrr�Dr�cCs@t|t�r|jdd|ji|j|j|i��Stddt|�i��)Nrz%%(class)s must be divided by a numberr5rrAr+rrrrJFrDzArea.__truediv__N)rrYrZr�rrr"rNrOrQrJrrrrr?s
rN)�__doc__�decimalr�	functoolsr�__all__�intrFrBr�rrrrrrrrrr�<module>s	
,`

https://t.me/RX1948 - 2025