fix: 포트 충돌 회피 — note_bridge 8098, intent_service 8099
Jellyfin(8096), OrbStack(8097) 포트 충돌으로 변경. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
"""The interface for timezone implementations."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from abc import ABC, abstractmethod
|
||||
from typing import TYPE_CHECKING, Optional
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from datetime import datetime, tzinfo
|
||||
|
||||
from dateutil.rrule import rrule
|
||||
|
||||
from icalendar import prop
|
||||
|
||||
|
||||
class TZProvider(ABC):
|
||||
"""Interface for timezone implementations."""
|
||||
|
||||
@property
|
||||
@abstractmethod
|
||||
def name(self) -> str:
|
||||
"""The name of the implementation."""
|
||||
|
||||
@abstractmethod
|
||||
def localize_utc(self, dt: datetime) -> datetime:
|
||||
"""Return the datetime in UTC."""
|
||||
|
||||
@abstractmethod
|
||||
def localize(self, dt: datetime, tz: tzinfo) -> datetime:
|
||||
"""Localize a datetime to a timezone."""
|
||||
|
||||
@abstractmethod
|
||||
def knows_timezone_id(self, id: str) -> bool:
|
||||
"""Whether the timezone is already cached by the implementation."""
|
||||
|
||||
@abstractmethod
|
||||
def fix_rrule_until(self, rrule: rrule, ical_rrule: prop.vRecur) -> None:
|
||||
"""Make sure the until value works for the rrule generated from the ical_rrule."""
|
||||
|
||||
@abstractmethod
|
||||
def create_timezone(self, name: str, transition_times, transition_info) -> tzinfo:
|
||||
"""Create a pytz timezone file given information."""
|
||||
|
||||
@abstractmethod
|
||||
def timezone(self, name: str) -> Optional[tzinfo]:
|
||||
"""Return a timezone with a name or None if we cannot find it."""
|
||||
|
||||
@abstractmethod
|
||||
def uses_pytz(self) -> bool:
|
||||
"""Whether we use pytz."""
|
||||
|
||||
@abstractmethod
|
||||
def uses_zoneinfo(self) -> bool:
|
||||
"""Whether we use zoneinfo."""
|
||||
|
||||
|
||||
__all__ = ["TZProvider"]
|
||||
Reference in New Issue
Block a user