
    (&h^	                         d Z ddlZddlmZmZmZ ddZ G d de          Z G d d	e          Z G d
 de          Z	 G d de
          Z G d de          Z G d de          Zd ZdS )zShapely errors.    N)GEOSExceptionShapelyError_setup_signal_checks'  c                 |    | dk    rt          d          t          | t          j                    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)intervals    I/var/www/html/reinick/venv/lib/python3.11/site-packages/shapely/errors.pysetup_signal_checksr      s>    * 1}}LMMM9#8#:#:#@AAAAA    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   #   s        TTTTr   r   c                       e Zd ZdZdS )DimensionErrorz0An error in the number of coordinate dimensions.Nr   r   r   r   r   r   '   s        ::::r   r   c                       e Zd ZdZdS )TopologicalErrorz1A geometry is invalid or topologically incorrect.Nr   r   r   r   r   r   +   s        ;;;;r   r   c                       e Zd ZdZdS )ShapelyDeprecationWarningzIWarning for features that will be removed or changed in a future release.Nr   r   r   r   r   r   /   s        SSSSr   r   c                       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   3   s        WWWWr   r   c                       e Zd ZdZdS )GeometryTypeErrorzLAn error raised when the geometry has an unrecognized or inappropriate type.Nr   r   r   r   r!   r!   7   s        VVVVr   r!   c                     dd l }| dv r'|                    |  dt          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+   s     r   __getattr__r0   ;   sx    OOO     	 6 6 6  	 	
 	
 	
 
MdMMM
N
NNr   )r   )r   r	   shapely.libr   r   r   r   r   r   r   r-   r   r   r!   r0   r   r   r   <module>r2      s         I I I I I I I I I IB B B B6U U U U U, U U U; ; ; ; ;\ ; ; ;< < < < <| < < <T T T T T T T TX X X X X\ X X XW W W W W W W WO O O O Or   