praval.storage.providers.filesystem
File system storage provider for Praval framework
Provides local file system storage capabilities with path management, directory operations, and file metadata support.
Classes
|
Local file system storage provider. |
- class praval.storage.providers.filesystem.FileSystemProvider(name, config)[source]
Bases:
BaseStorageProviderLocal file system storage provider.
Features: - File and directory operations - Path management and validation - File metadata and permissions - Recursive operations - Pattern-based file listing - Atomic file operations
- Parameters:
name (str)
config (Dict[str, Any])
- async store(resource, data, **kwargs)[source]
Store data to file system.
- Parameters:
resource (
str) – File path relative to base_pathdata (
Any) – Data to store (string, bytes, dict/list for JSON, or file-like object)**kwargs – File parameters (encoding, mode, etc.)
- Return type:
- Returns:
StorageResult with operation outcome
- async retrieve(resource, **kwargs)[source]
Retrieve data from file system.
- Parameters:
resource (
str) – File path relative to base_path**kwargs – Read parameters (encoding, decode_json, etc.)
- Return type:
- Returns:
StorageResult with retrieved data
- async query(resource, query, **kwargs)[source]
Execute file system operations.
- Parameters:
resource (
str) – Path or patternquery (
Union[str,Dict]) – Query type (“list”, “find”, “metadata”, etc.)**kwargs – Query parameters
- Return type:
- Returns:
StorageResult with query results
- async delete(resource, **kwargs)[source]
Delete file or directory from file system.
- Parameters:
resource (
str) – Path to delete**kwargs – Delete parameters (recursive, etc.)
- Return type:
- Returns:
StorageResult with operation outcome