o
    h^	                     @   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)GEOSExceptionShapelyError_setup_signal_checks'  c                 C   s$   | dkrt dt| t j dS )a~  Enable 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   I/var/www/html/scripts/venv/lib/python3.10/site-packages/shapely/errors.pysetup_signal_checks   s   r   c                   @      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   #       r   c                   @   r   )DimensionErrorz0An error in the number of coordinate dimensions.Nr   r   r   r   r   r   '   r   r   c                   @   r   )TopologicalErrorz1A geometry is invalid or topologically incorrect.Nr   r   r   r   r   r   +   r   r   c                   @   r   )ShapelyDeprecationWarningzIWarning for features that will be removed or changed in a future release.Nr   r   r   r   r   r   /   r   r   c                   @   r   )EmptyPartErrorzMAn error signifying an empty part was encountered when creating a multi-part.Nr   r   r   r   r   r   3   r   r   c                   @   r   )GeometryTypeErrorzLAn error raised when the geometry has an unrecognized or inappropriate type.Nr   r   r   r   r   r   7   r   r   c                 C   s:   dd l }| dv r|j|  dtdd tS td|  d)Nr   )ReadingErrorWKBReadingErrorWKTReadingErrorPredicateError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FutureWarningr   AttributeError)namer#   r   r   r   __getattr__;   s   r(   )r   )r   r   shapely.libr   r   r   r   r   r   r   r%   r   r   r   r(   r   r   r   r   <module>   s    
