Files
syn-chat-bot/.venv/lib/python3.9/site-packages/recurring_ical_events/selection/base.py
Hyungi Ahn c2257d3a86 fix: 포트 충돌 회피 — note_bridge 8098, intent_service 8099
Jellyfin(8096), OrbStack(8097) 포트 충돌으로 변경.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 13:53:55 +09:00

34 lines
979 B
Python

"""Base interface for selection of components."""
from __future__ import annotations
from abc import ABC, abstractmethod
from typing import TYPE_CHECKING, Sequence
if TYPE_CHECKING:
from icalendar.cal import Component
from recurring_ical_events.series import Series
class SelectComponents(ABC):
"""Abstract class to select components from a calendar."""
@staticmethod
def component_name():
"""The name of the component if there is only one."""
raise NotImplementedError("This should be implemented in subclasses.")
@abstractmethod
def collect_series_from(
self, source: Component, suppress_errors: tuple[Exception]
) -> Sequence[Series]:
"""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.
"""
__all__ = ["SelectComponents"]