Coverage for src\sql_organizer\search.py: 100%

13 statements  

« prev     ^ index     » next       coverage.py v7.9.2, created at 2025-07-25 09:55 +0300

1from collections.abc import Sequence 

2from pathlib import Path 

3 

4from pydantic import BaseModel, Field 

5 

6 

7class FileExtension(BaseModel, frozen=True): 

8 extension: str = Field(min_length=1) 

9 

10 def get_glob(self) -> str: 

11 return f"**/*.{self.extension}" 

12 

13 

14def get_all_sql_files(path: Path, extensions: Sequence[FileExtension]) -> list[Path]: 

15 assert len(extensions) >= 1, "Should provide at least 1 extension" 

16 paths: list[Path] = [] 

17 for extension in extensions: 

18 paths.extend(path.glob(extension.get_glob())) 

19 return paths