o
    Jf	                     @   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   Z/home/deployuser/azure_apps/autowriter/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   )ShapelyDeprecationWarningzn
    Warning for features that will be removed or behaviour that will be
    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   2   r   r   c                   @   r   )GeometryTypeErrorzi
    An error raised when the type of the geometry in question is
    unrecognized or inappropriate.
    Nr   r   r   r   r   r   6   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DeprecationWarningr   AttributeError)namer#   r   r   r   __getattr__=   s   r(   )r   )r   r   shapely.libr   r   r   r   r   r   r   FutureWarningr   r   r   r(   r   r   r   r   <module>   s    
