Coverage for src\sql_organizer\file.py: 100%
14 statements
« prev ^ index » next coverage.py v7.9.2, created at 2025-07-25 09:55 +0300
« prev ^ index » next coverage.py v7.9.2, created at 2025-07-25 09:55 +0300
1from pathlib import Path
3from pydantic import BaseModel, Field
6class SqlFile(BaseModel, frozen=True):
7 file_name: str = Field(min_length=1)
8 sql_text: str
10 @classmethod
11 def from_path(cls, path: Path) -> "OSError | SqlFile":
12 file_name = path.stem
13 try:
14 with path.open("r") as f:
15 sql_text = f.read()
16 except OSError as e:
17 return e
18 return SqlFile(file_name=file_name, sql_text=sql_text)