a
    J5d	                     @   s   d Z ddlZddlmZmZmZ dddZG dd deZG d	d
 d
eZG dd deZ	G dd de
ZG dd deZG dd deZdd ZdS )zShapely errors.    N)_setup_signal_checksGEOSExceptionShapelyError'  c                 C   s$   | dkrt dt| t j dS )aw  This enables Python signal checks in the ufunc inner loops.

    Doing so allows termination (using CTRL+C) of operations on large arrays of vectors.

    Parameters
    ----------
    interval : int, default 10000
        Check for interrupts every x iterations. The higher the number, the slower
        shapely will respond to a signal. However, at low values there will be a negative effect
        on performance. The default of 10000 does not have any measureable effects on performance.

    Notes
    -----
    For more information on signals consult the Python docs:

    https://docs.python.org/3/library/signal.html
    r   z1Signal checks interval must be greater than zero.N)
ValueErrorr   	threadingmain_threadident)interval r   J/var/www/html/django/DPS/env/lib/python3.9/site-packages/shapely/errors.pysetup_signal_checks   s    r   c                   @   s   e Zd ZdZdS )UnsupportedGEOSVersionErrorzJRaised when the GEOS library version does not support a certain operation.N__name__
__module____qualname____doc__r   r   r   r   r      s   r   c                   @   s   e Zd ZdZdS )DimensionErrorz0An error in the number of coordinate dimensions.Nr   r   r   r   r   r   #   s   r   c                   @   s   e Zd ZdZdS )TopologicalErrorz1A geometry is invalid or topologically incorrect.Nr   r   r   r   r   r   '   s   r   c                   @   s   e Zd ZdZdS )ShapelyDeprecationWarningzn
    Warning for features that will be removed or behaviour that will be
    changed in a future release.
    Nr   r   r   r   r   r   +   s   r   c                   @   s   e Zd ZdZdS )EmptyPartErrorzMAn error signifying an empty part was encountered when creating a multi-part.Nr   r   r   r   r   r   2   s   r   c                   @   s   e Zd ZdZdS )GeometryTypeErrorzi
    An error raised when the type of the geometry in question is
    unrecognized or inappropriate.
    Nr   r   r   r   r   r   6   s   r   c                 C   s>   dd l }| dv r*|j|  dtdd tS td|  dd S )Nr   )ZReadingErrorZWKBReadingErrorZWKTReadingErrorZPredicateErrorZInvalidGeometryErrorz is deprecated and will be removed in a future version. Use ShapelyError instead (functions previously raising {name} will now raise a ShapelyError instead).   )
stacklevelz*module 'shapely.errors' has no attribute '')warningswarnDeprecationWarningr   AttributeError)namer   r   r   r   __getattr__=   s    r!   )r   )r   r   Zshapely.libr   r   r   r   r   r   r   FutureWarningr   r   r   r!   r   r   r   r   <module>   s   
