Coverage for src/qdrant_loader/connectors/localfile/config.py: 93%
14 statements
« prev ^ index » next coverage.py v7.8.2, created at 2025-06-04 05:50 +0000
« prev ^ index » next coverage.py v7.8.2, created at 2025-06-04 05:50 +0000
1"""Configuration for LocalFile connector."""
3from pydantic import AnyUrl, ConfigDict, Field, field_validator
5from qdrant_loader.config.source_config import SourceConfig
8class LocalFileConfig(SourceConfig):
9 """Configuration for a local file source."""
11 model_config = ConfigDict(arbitrary_types_allowed=True, extra="forbid")
13 include_paths: list[str] = Field(
14 default_factory=list, description="Paths to include (glob patterns)"
15 )
16 exclude_paths: list[str] = Field(
17 default_factory=list, description="Paths to exclude (glob patterns)"
18 )
19 file_types: list[str] = Field(
20 default_factory=list, description="File types to process"
21 )
22 max_file_size: int = Field(
23 default=1048576, description="Maximum file size in bytes"
24 )
26 @field_validator("base_url")
27 @classmethod
28 def validate_base_url(cls, v: AnyUrl) -> AnyUrl:
29 if v.scheme != "file":
30 raise ValueError("base_url for localfile must start with 'file://'")
31 return v