File size: 501 Bytes
be9351f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from pydantic import BaseModel, Field, HttpUrl, ConfigDict
from typing import Optional
from enum import Enum


class SourceType(str, Enum):
    GITHUB_RAW = "github_raw"
    SUBSCRIPTION_BASE64 = "subscription_base64"
    GENERIC_TEXT = "generic_text"


class SourceConfig(BaseModel):
    model_config = ConfigDict(use_enum_values=True)

    url: HttpUrl
    type: SourceType
    enabled: bool = True
    selector: Optional[str] = None
    interval: int = Field(default=3600, gt=0)