md from pattern mwe

click-textual
Maveno 12 months ago
parent 12689fe61d
commit b9aed1f0b6

@ -273,11 +273,10 @@ def inspect(ctx, filename):
click.echo(f"Pattern: {pattern} id={pattern.id} show={pattern.show.name} year={pattern.show.year}")
db_md = pattern.getMediaDescriptor()
click.echo(f"md from db: {db_md} tags={'|'.join([f"{k}={v}" for (k,v) in db_md.getTags().items()])}")
click.echo(f"md from db: {db_md} tags={'|'.join([f"{k}={v}" for (k,v) in db_md.getTags().items()])} a_tracks={db_md.getAudioTracks()} s_tracks={db_md.getSubtitleTracks()}")
# for d in sd:
# click.echo(f"{d['codec_name']}{' (' + str(d['channels']) + ')' if d['codec_type'] == 'audio' else ''}")
atrack0 = db_md.getAudioTracks()[0]
click.echo(f"a track0: lang={atrack0.getLanguage()} title={atrack0.getTitle()}")

@ -26,7 +26,7 @@ class Pattern(Base):
# show_id: Mapped[int] = mapped_column(ForeignKey("shows.id", ondelete="CASCADE"))
# show: Mapped["Show"] = relationship(back_populates="patterns")
tracks = relationship('Track', back_populates='pattern', cascade="all, delete")
tracks = relationship('Track', back_populates='pattern', cascade="all, delete", lazy='joined')
media_tags = relationship('MediaTag', back_populates='pattern', cascade="all, delete", lazy='joined')
@ -52,9 +52,14 @@ class Pattern(Base):
kwargs = {}
kwargs[MediaDescriptor.TAGS_KEY] = self.getTags()
md = MediaDescriptor(**kwargs)
kwargs[MediaDescriptor.TRACK_DESCRIPTORS_KEY] = {}
# for t in self.tracks:
# md.appendTrack(t.getDescriptor())
for track in self.tracks:
return md
if track.getType() not in kwargs[MediaDescriptor.TRACK_DESCRIPTORS_KEY].keys():
kwargs[MediaDescriptor.TRACK_DESCRIPTORS_KEY][track.getType().label()] = []
kwargs[MediaDescriptor.TRACK_DESCRIPTORS_KEY][track.getType().label()].append(track.getDescriptor())
return MediaDescriptor(**kwargs)

Loading…
Cancel
Save