mirror of
https://github.com/shadoll/moma.git
synced 2026-08-28 11:33:25 +00:00
feat: Add conversion and deletion confirmation screens, enhance media panel properties
- Implemented ConvertConfirmScreen for confirming AVI to MKV conversions with audio and subtitle options. - Added DeleteConfirmScreen for confirming file deletions with detailed file information. - Enhanced MediaPanelView to include additional MediaInfo properties such as video, audio, and subtitle tracks. - Updated MediaPanelProperties to extract and display raw MediaInfo track data. - Introduced HelpScreen for user guidance on application features and navigation. - Created OpenScreen for directory path input with validation. - Developed RenameConfirmScreen for renaming files with user confirmation and editing capabilities. - Added SettingsScreen for configuring application settings, including cache TTL and HEVC encoding options. - Updated imports and module exports in views to accommodate new screens.
This commit is contained in:
@@ -205,6 +205,37 @@ class MediaPanelProperties:
|
||||
# ============================================================
|
||||
# MediaInfo Extraction Properties
|
||||
# ============================================================
|
||||
@property
|
||||
@conditional_decorators.wrap("RAW General Info: ")
|
||||
@text_decorators.colour(name="gray")
|
||||
@conditional_decorators.default("Not extracted")
|
||||
def mediainfo_general_tracks(self) -> str:
|
||||
"""Get MediaInfo raw general track info formatted with label."""
|
||||
return self._extractor.get("general_track", "MediaInfo")
|
||||
|
||||
@property
|
||||
@conditional_decorators.wrap("RAW Video Tracks: ")
|
||||
@text_decorators.colour(name="gray")
|
||||
@conditional_decorators.default("Not extracted")
|
||||
def mediainfo_video_tracks(self) -> str:
|
||||
"""Get MediaInfo raw video tracks formatted with label."""
|
||||
return self._extractor.get("video_tracks", "MediaInfo")
|
||||
|
||||
@property
|
||||
@conditional_decorators.wrap("RAW Audio Tracks: ")
|
||||
@text_decorators.colour(name="gray")
|
||||
@conditional_decorators.default("Not extracted")
|
||||
def mediainfo_audio_tracks(self) -> str:
|
||||
"""Get MediaInfo raw audio tracks formatted with label."""
|
||||
return self._extractor.get("audio_tracks", "MediaInfo")
|
||||
|
||||
@property
|
||||
@conditional_decorators.wrap("RAW Subtitle Tracks: ")
|
||||
@text_decorators.colour(name="gray")
|
||||
@conditional_decorators.default("Not extracted")
|
||||
def mediainfo_subtitle_tracks(self) -> str:
|
||||
"""Get MediaInfo raw subtitle tracks formatted with label."""
|
||||
return self._extractor.get("subtitle_tracks", "MediaInfo")
|
||||
|
||||
@property
|
||||
@conditional_decorators.wrap("Duration: ")
|
||||
@@ -264,14 +295,6 @@ class MediaPanelProperties:
|
||||
"""Get MediaInfo audio languages formatted with label."""
|
||||
return self._extractor.get("audio_langs", "MediaInfo")
|
||||
|
||||
@property
|
||||
@conditional_decorators.wrap("Anamorphic: ")
|
||||
@text_decorators.colour(name="grey")
|
||||
@conditional_decorators.default("Not extracted")
|
||||
def mediainfo_anamorphic(self) -> str:
|
||||
"""Get MediaInfo anamorphic formatted with label."""
|
||||
return self._extractor.get("anamorphic", "MediaInfo")
|
||||
|
||||
@property
|
||||
@conditional_decorators.wrap("Extension: ")
|
||||
@text_decorators.colour(name="grey")
|
||||
@@ -471,6 +494,13 @@ class MediaPanelProperties:
|
||||
"""Get selected audio languages formatted with label."""
|
||||
return self._extractor.get("audio_langs")
|
||||
|
||||
@property
|
||||
@text_decorators.colour(name="green")
|
||||
@conditional_decorators.wrap("General Info: ")
|
||||
def general_info(self) -> list[str]:
|
||||
"""Get general track info formatted with label."""
|
||||
return self._extractor.get("general_tracks", "MediaInfo") or []
|
||||
|
||||
@property
|
||||
def video_tracks(self) -> list[str]:
|
||||
"""Return formatted video track data"""
|
||||
@@ -510,4 +540,3 @@ class MediaPanelProperties:
|
||||
@track_decorators.subtitle_track()
|
||||
def subtitle_track(self, track, index) -> str:
|
||||
"""Get subtitle track info formatted with label."""
|
||||
return track
|
||||
|
||||
Reference in New Issue
Block a user