
    i                    t    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e          ZdgZd	S )
z+Base interface for selection of components.    )annotations)ABCabstractmethod)TYPE_CHECKINGSequence)	Component)Seriesc                  @    e Zd ZdZed             Zedd	            Zd
S )SelectComponentsz4Abstract class to select components from a calendar.c                      t          d          )z/The name of the component if there is only one.z)This should be implemented in subclasses.)NotImplementedError     _/root/projects/butler/venv/lib/python3.11/site-packages/recurring_ical_events/selection/base.pycomponent_namezSelectComponents.component_name   s     ""MNNNr   sourcer   suppress_errorstuple[Exception]returnSequence[Series]c                    dS )zCollect 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   s      r   collect_series_fromz$SelectComponents.collect_series_from   s      r   N)r   r   r   r   r   r   )__name__
__module____qualname____doc__staticmethodr   r   r   r   r   r   r   r      sV        >>O O \O    ^  r   r   N)r   
__future__r   abcr   r   typingr   r   icalendar.calr   recurring_ical_events.seriesr	   r   __all__r   r   r   <module>r%      s    1 1 " " " " " " # # # # # # # # * * * * * * * * 4''''''333333    s   & 
r   