o
    ÌÄ.jÓ  ã                   @  sf   d Z ddlmZ ddlmZmZ ddlmZmZ er&ddl	m
Z
 ddlmZ G dd„ deƒZdgZd	S )
z+Base interface for selection of components.é    )Úannotations)ÚABCÚabstractmethod)ÚTYPE_CHECKINGÚSequence)Ú	Component)ÚSeriesc                   @  s*   e Zd ZdZedd„ ƒZedd
d„ƒZdS )ÚSelectComponentsz4Abstract class to select components from a calendar.c                   C  s   t dƒ‚)z/The name of the component if there is only one.z)This should be implemented in subclasses.)ÚNotImplementedError© r   r   úY/home/thesage/.local/lib/python3.10/site-packages/recurring_ical_events/selection/base.pyÚcomponent_name   s   zSelectComponents.component_nameÚsourcer   Úsuppress_errorsútuple[Exception]ÚreturnúSequence[Series]c                 C  s   dS )zåCollect all components from the source grouped together into a series.

        suppress_errors - a list of errors that should be suppressed.
            A Series of events with such an error is removed from all results.
        Nr   )Úselfr   r   r   r   r   Úcollect_series_from   s    z$SelectComponents.collect_series_fromN)r   r   r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ústaticmethodr   r   r   r   r   r   r   r	      s    
r	   N)r   Ú
__future__r   Úabcr   r   Útypingr   r   Úicalendar.calr   Úrecurring_ical_events.seriesr   r	   Ú__all__r   r   r   r   Ú<module>   s    
