20 lines
745 B
Python
20 lines
745 B
Python
"""Календари из `CALENDAR_MCPS=name=url,name=url`; в url - приватный фид с токеном."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from beaver_gateway.mcp.types import HttpMcp, McpServer
|
|
|
|
|
|
def calendars(raw: str) -> list[HttpMcp]:
|
|
servers: list[HttpMcp] = []
|
|
for position, raw_entry in enumerate(raw.split(","), start=1):
|
|
entry = raw_entry.strip()
|
|
if not entry:
|
|
continue
|
|
name, sep, url = entry.partition("=")
|
|
if not sep or not url.strip():
|
|
msg = f"CALENDAR_MCPS: запись #{position} не вида `name=url`"
|
|
raise ValueError(msg)
|
|
servers.append(McpServer.http(name=f"calendar-{name.strip()}", url=url.strip()))
|
|
return servers
|