Files
moma/renamer/extractors/fileinfo_extractor.py
T
sha d2ec235458 Refactor extractors and formatters for improved structure and functionality
- Converted static methods to instance methods in FileInfoExtractor and FilenameExtractor for better encapsulation.
- Enhanced MediaInfoExtractor to initialize with file path and extract media information upon instantiation.
- Updated MetadataExtractor to handle metadata extraction with improved error handling and added methods for meta type detection.
- Introduced ColorFormatter for consistent text formatting across the application.
- Refactored MediaFormatter to utilize the new extractor structure and improve output formatting.
- Removed redundant utility functions and replaced them with direct calls in extractors.
- Added ProposedNameFormatter for better handling of proposed filename formatting.
- Updated extension handling to use MEDIA_TYPES for descriptions instead of VIDEO_EXT_DESCRIPTIONS.
2025-12-25 23:35:59 +00:00

32 lines
972 B
Python

from pathlib import Path
class FileInfoExtractor:
"""Class to extract file information"""
def __init__(self, file_path: Path):
self.file_path = file_path
self._size = file_path.stat().st_size
self._modification_time = file_path.stat().st_mtime
self._file_name = file_path.name
self._file_path = str(file_path)
def extract_size(self) -> int:
"""Extract file size in bytes"""
return self._size
def extract_modification_time(self) -> float:
"""Extract file modification time"""
return self._modification_time
def extract_file_name(self) -> str:
"""Extract file name"""
return self._file_name
def extract_file_path(self) -> str:
"""Extract full file path as string"""
return self._file_path
def extract_extension(self) -> str:
"""Extract file extension without the dot"""
return self.file_path.suffix.lower().lstrip('.')