mirror of
https://github.com/shadoll/moma.git
synced 2026-08-28 03:27:34 +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.
26 lines
1.1 KiB
Python
26 lines
1.1 KiB
Python
from .color_formatter import ColorFormatter
|
|
from .date_formatter import DateFormatter
|
|
|
|
|
|
class ProposedNameFormatter:
|
|
"""Class for formatting proposed filenames"""
|
|
|
|
def __init__(self, extractor):
|
|
self.extractor = extractor
|
|
|
|
self.__title = extractor.get("title") or "Unknown Title"
|
|
self.__year = DateFormatter.format_year(extractor.get("year"))
|
|
self.__source = extractor.get("source") or None
|
|
self.__frame_class = extractor.get("frame_class") or None
|
|
self.__hdr = f",{extractor.get('hdr')}" if extractor.get("hdr") else ""
|
|
self.__audio_langs = extractor.get("audio_langs") or None
|
|
self.__extension = extractor.get("extension") or "ext"
|
|
|
|
def __str__(self) -> str:
|
|
"""Convert the proposed name to string"""
|
|
return f"{self.__title} {self.__year} {self.__source} [{self.__frame_class}{self.__hdr},{self.__audio_langs}].{self.__extension}"
|
|
|
|
def format_display_string(self) -> str:
|
|
"""Format the proposed name for display with color"""
|
|
return ColorFormatter.bold_yellow(str(self))
|