mirror of
https://github.com/shadoll/moma.git
synced 2026-08-28 19:43:28 +00:00
- 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.
32 lines
972 B
Python
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('.') |