feat: Windows 服务 安装,启动,停止 功能
This commit is contained in:
@ -3,6 +3,7 @@ Pydantic models for scientific-surfing data structures.
|
||||
"""
|
||||
|
||||
from datetime import datetime
|
||||
import os
|
||||
from typing import Dict, List, Optional
|
||||
from pydantic import BaseModel, Field, validator
|
||||
|
||||
@ -14,7 +15,6 @@ class Subscription(BaseModel):
|
||||
url: str = Field(..., description="Clash RSS subscription URL")
|
||||
status: str = Field(default="inactive", description="Status: active or inactive")
|
||||
last_refresh: Optional[datetime] = Field(default=None, description="Last refresh timestamp")
|
||||
file_path: Optional[str] = Field(default=None, description="Path to downloaded file")
|
||||
file_size: Optional[int] = Field(default=None, description="Size of downloaded file in bytes")
|
||||
status_code: Optional[int] = Field(default=None, description="HTTP status code of last refresh")
|
||||
content_hash: Optional[int] = Field(default=None, description="Hash of downloaded content")
|
||||
@ -31,6 +31,8 @@ class Subscription(BaseModel):
|
||||
datetime: lambda v: v.isoformat() if v else None
|
||||
}
|
||||
|
||||
def get_file_path(self, config_dir: str):
|
||||
return os.path.join(config_dir, "subscriptions", f"{self.name}.yml")
|
||||
|
||||
class Config(BaseModel):
|
||||
"""Model for application configuration."""
|
||||
|
||||
Reference in New Issue
Block a user