click-textual
Javanaut 12 months ago
parent a01e8bfca5
commit c83f17dd44

@ -39,8 +39,7 @@ class MediaDescriptor:
if MediaDescriptor.TAGS_KEY in kwargs.keys(): if MediaDescriptor.TAGS_KEY in kwargs.keys():
if type(kwargs[MediaDescriptor.TAGS_KEY]) is not dict: if type(kwargs[MediaDescriptor.TAGS_KEY]) is not dict:
raise TypeError( raise TypeError(
f"MediaDescriptor.__init__(): Argument { f"MediaDescriptor.__init__(): Argument {MediaDescriptor.TAGS_KEY} is required to be of type dict"
MediaDescriptor.TAGS_KEY} is required to be of type dict"
) )
self.__mediaTags = kwargs[MediaDescriptor.TAGS_KEY] self.__mediaTags = kwargs[MediaDescriptor.TAGS_KEY]
else: else:
@ -51,14 +50,12 @@ class MediaDescriptor:
type(kwargs[MediaDescriptor.TRACK_DESCRIPTOR_LIST_KEY]) is not list type(kwargs[MediaDescriptor.TRACK_DESCRIPTOR_LIST_KEY]) is not list
): # Use List typehint for TrackDescriptor as well if it works ): # Use List typehint for TrackDescriptor as well if it works
raise TypeError( raise TypeError(
f"MediaDescriptor.__init__(): Argument { f"MediaDescriptor.__init__(): Argument {MediaDescriptor.TRACK_DESCRIPTOR_LIST_KEY} is required to be of type list"
MediaDescriptor.TRACK_DESCRIPTOR_LIST_KEY} is required to be of type list"
) )
for d in kwargs[MediaDescriptor.TRACK_DESCRIPTOR_LIST_KEY]: for d in kwargs[MediaDescriptor.TRACK_DESCRIPTOR_LIST_KEY]:
if type(d) is not TrackDescriptor: if type(d) is not TrackDescriptor:
raise TypeError( raise TypeError(
f"TrackDesciptor.__init__(): All elements of argument list { f"TrackDesciptor.__init__(): All elements of argument list {MediaDescriptor.TRACK_DESCRIPTOR_LIST_KEY} are required to be of type TrackDescriptor"
MediaDescriptor.TRACK_DESCRIPTOR_LIST_KEY} are required to be of type TrackDescriptor"
) )
self.__trackDescriptors = kwargs[MediaDescriptor.TRACK_DESCRIPTOR_LIST_KEY] self.__trackDescriptors = kwargs[MediaDescriptor.TRACK_DESCRIPTOR_LIST_KEY]
else: else:
@ -67,8 +64,7 @@ class MediaDescriptor:
if MediaDescriptor.CLEAR_TAGS_FLAG_KEY in kwargs.keys(): if MediaDescriptor.CLEAR_TAGS_FLAG_KEY in kwargs.keys():
if type(kwargs[MediaDescriptor.CLEAR_TAGS_FLAG_KEY]) is not bool: if type(kwargs[MediaDescriptor.CLEAR_TAGS_FLAG_KEY]) is not bool:
raise TypeError( raise TypeError(
f"MediaDescriptor.__init__(): Argument { f"MediaDescriptor.__init__(): Argument {MediaDescriptor.CLEAR_TAGS_FLAG_KEY} is required to be of type bool"
MediaDescriptor.CLEAR_TAGS_FLAG_KEY} is required to be of type bool"
) )
self.__clearTags = kwargs[MediaDescriptor.CLEAR_TAGS_FLAG_KEY] self.__clearTags = kwargs[MediaDescriptor.CLEAR_TAGS_FLAG_KEY]
else: else:
@ -77,8 +73,7 @@ class MediaDescriptor:
if MediaDescriptor.JELLYFIN_ORDER_FLAG_KEY in kwargs.keys(): if MediaDescriptor.JELLYFIN_ORDER_FLAG_KEY in kwargs.keys():
if type(kwargs[MediaDescriptor.JELLYFIN_ORDER_FLAG_KEY]) is not bool: if type(kwargs[MediaDescriptor.JELLYFIN_ORDER_FLAG_KEY]) is not bool:
raise TypeError( raise TypeError(
f"MediaDescriptor.__init__(): Argument { f"MediaDescriptor.__init__(): Argument {MediaDescriptor.JELLYFIN_ORDER_FLAG_KEY} is required to be of type bool"
MediaDescriptor.JELLYFIN_ORDER_FLAG_KEY} is required to be of type bool"
) )
self.__jellyfinOrder = kwargs[MediaDescriptor.JELLYFIN_ORDER_FLAG_KEY] self.__jellyfinOrder = kwargs[MediaDescriptor.JELLYFIN_ORDER_FLAG_KEY]
else: else:
@ -288,8 +283,7 @@ class MediaDescriptor:
if not isinstance(vsMediaDescriptor, self.__class__): if not isinstance(vsMediaDescriptor, self.__class__):
raise click.ClickException( raise click.ClickException(
f"MediaDescriptor.compare(): Argument is required to be of type { f"MediaDescriptor.compare(): Argument is required to be of type {self.__class__}"
self.__class__}"
) )
vsTags = vsMediaDescriptor.getTags() vsTags = vsMediaDescriptor.getTags()

@ -39,8 +39,8 @@ class MediaDetailsScreen(Screen):
CSS = """ CSS = """
Grid { Grid {
grid-size: 4 7; grid-size: 4 8;
grid-rows: 8 2 2 2 8 2 8; grid-rows: 8 2 2 2 8 2 2 8;
grid-columns: 25 125 10 75; grid-columns: 25 125 10 75;
height: 100%; height: 100%;
width: 100%; width: 100%;
@ -385,6 +385,11 @@ class MediaDetailsScreen(Screen):
yield Static(" ", classes="three") yield Static(" ", classes="three")
# 7 # 7
yield Static(" ")
yield Button("Select Default", id="select_default_button")
yield Button("Select Forced", id="select_forced_button")
# 8
yield Static("Streams") yield Static("Streams")
yield self.tracksTable yield self.tracksTable
yield Static(" ") yield Static(" ")

@ -1,6 +1,5 @@
import click import click
from textual.app import App, ComposeResult
from textual.screen import Screen from textual.screen import Screen
from textual.widgets import Header, Footer, Placeholder, Label, ListView, ListItem, Static, DataTable, Button from textual.widgets import Header, Footer, Placeholder, Label, ListView, ListItem, Static, DataTable, Button
from textual.containers import Grid from textual.containers import Grid

Loading…
Cancel
Save