|
|
|
|
@@ -107,7 +107,8 @@ class FfxController():
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def generateOutputTokens(self, filepath, format, ext):
|
|
|
|
|
return ['-f', format, f"{filepath}.{ext}"]
|
|
|
|
|
outputFilePath = f"{filepath}.{ext}"
|
|
|
|
|
return ['-f', format, outputFilePath]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def generateAudioEncodingTokens(self):
|
|
|
|
|
@@ -199,157 +200,195 @@ class FfxController():
|
|
|
|
|
return dispositionTokens
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# def generateMetadataTokens(self):
|
|
|
|
|
# """Source media descriptor is mandatory"""
|
|
|
|
|
#
|
|
|
|
|
# metadataTokens = []
|
|
|
|
|
#
|
|
|
|
|
# # click.echo(f"source media descriptor: track indices={[d.getIndex() for d in sourceMediaDescriptor.getAllTrackDescriptors()]}")
|
|
|
|
|
# # click.echo(f"target media descriptor: track indices={[d.getIndex() for d in targetMediaDescriptor.getAllTrackDescriptors()]}")
|
|
|
|
|
#
|
|
|
|
|
# # +jellyfin -jellyfin
|
|
|
|
|
# mediaDifferences = self.__targetMediaDescriptor.compare(self.__sourceMediaDescriptor)
|
|
|
|
|
#
|
|
|
|
|
# # media diff {'tracks': {'changed': {4: {'tags': {'added': {'Yolo'}}}}}}
|
|
|
|
|
#
|
|
|
|
|
# click.echo(f"media diff {mediaDifferences}")
|
|
|
|
|
#
|
|
|
|
|
# if MediaDescriptor.TAGS_KEY in mediaDifferences.keys():
|
|
|
|
|
#
|
|
|
|
|
# sourceTags = self.__sourceMediaDescriptor.getTags()
|
|
|
|
|
# targetTags = self.__targetMediaDescriptor.getTags()
|
|
|
|
|
#
|
|
|
|
|
# #TODO: Warum erscheint nur -1 im output?
|
|
|
|
|
# if DIFF_REMOVED_KEY in mediaDifferences[MediaDescriptor.TAGS_KEY].keys():
|
|
|
|
|
# # for removedTagKey in mediaDifferences[MediaDescriptor.TAGS_KEY][DIFF_REMOVED_KEY]:
|
|
|
|
|
# # row = (f"removed media tag: key='{removedTagKey}' value='{sourceTags[removedTagKey]}'",)
|
|
|
|
|
# # self.differencesTable.add_row(*map(str, row))
|
|
|
|
|
# pass
|
|
|
|
|
# #metadataTokens += [f"-map_metadata:g", "-1"]
|
|
|
|
|
#
|
|
|
|
|
# #for targetMediaTagKey in targetTags:
|
|
|
|
|
# #metadataTokens += [f"-metadata:g", f"{targetMediaTagKey}={targetTags[targetMediaTagKey]}"]
|
|
|
|
|
#
|
|
|
|
|
# else:
|
|
|
|
|
#
|
|
|
|
|
# if DIFF_ADDED_KEY in mediaDifferences[MediaDescriptor.TAGS_KEY].keys():
|
|
|
|
|
# for addedTagKey in mediaDifferences[MediaDescriptor.TAGS_KEY][DIFF_ADDED_KEY]:
|
|
|
|
|
# # row = (f"added media tag: key='{addedTagKey}' value='{targetTags[addedTagKey]}'",)
|
|
|
|
|
# click.echo(f"added metadata key='{addedTagKey}' value='{targetTags[addedTagKey]}'->'{targetTags[addedTagKey]}'")
|
|
|
|
|
# # self.differencesTable.add_row(*map(str, row))
|
|
|
|
|
# #pass
|
|
|
|
|
# metadataTokens += [f"-metadata:g", f"{addedTagKey}={targetTags[addedTagKey]}"]
|
|
|
|
|
#
|
|
|
|
|
#
|
|
|
|
|
#
|
|
|
|
|
# if DIFF_CHANGED_KEY in mediaDifferences[MediaDescriptor.TAGS_KEY].keys():
|
|
|
|
|
# for changedTagKey in mediaDifferences[MediaDescriptor.TAGS_KEY][DIFF_CHANGED_KEY]:
|
|
|
|
|
# #row = (f"changed media tag: key='{changedTagKey}' value='{sourceTags[changedTagKey]}'->'{targetTags[changedTagKey]}'",)
|
|
|
|
|
# click.echo(f"changed metadata key='{changedTagKey}' value='{sourceTags[changedTagKey]}'->'{targetTags[changedTagKey]}'")
|
|
|
|
|
# # self.differencesTable.add_row(*map(str, row))
|
|
|
|
|
# #pass
|
|
|
|
|
# metadataTokens += [f"-metadata:g", f"{changedTagKey}={targetTags[changedTagKey]}"]
|
|
|
|
|
#
|
|
|
|
|
# if MediaDescriptor.TRACKS_KEY in mediaDifferences.keys():
|
|
|
|
|
#
|
|
|
|
|
# sourceTrackDescriptors = self.__sourceMediaDescriptor.getAllTrackDescriptors()
|
|
|
|
|
# targetTrackDescriptors = self.__targetMediaDescriptor.getReorderedTrackDescriptors()
|
|
|
|
|
#
|
|
|
|
|
# if DIFF_ADDED_KEY in mediaDifferences[MediaDescriptor.TRACKS_KEY].keys():
|
|
|
|
|
# addedTracksIndices = mediaDifferences[MediaDescriptor.TRACKS_KEY][DIFF_ADDED_KEY]
|
|
|
|
|
# raise click.ClickException(f"FfxController.generateMetadataTokens(): Adding tracks is not supported. Track indices {addedTracksIndices}")
|
|
|
|
|
#
|
|
|
|
|
# #raise click.ClickException(f"add track {mediaDifferences[MediaDescriptor.TRACKS_KEY][DIFF_ADDED_KEY]}")
|
|
|
|
|
# #for addedTrackIndex in mediaDifferences[MediaDescriptor.TRACKS_KEY][DIFF_ADDED_KEY]:
|
|
|
|
|
# #addedTrack : Track = targetTrackDescriptors[addedTrackIndex]
|
|
|
|
|
# # row = (f"added {addedTrack.getType().label()} track: index={addedTrackIndex} lang={addedTrack.getLanguage().threeLetter()}",)
|
|
|
|
|
# # self.differencesTable.add_row(*map(str, row))
|
|
|
|
|
#
|
|
|
|
|
# if DIFF_REMOVED_KEY in mediaDifferences[MediaDescriptor.TRACKS_KEY].keys():
|
|
|
|
|
# removedTracksIndices = mediaDifferences[MediaDescriptor.TRACKS_KEY][DIFF_ADDED_KEY].keys()
|
|
|
|
|
# raise click.ClickException(f"FfxController.generateMetadataTokens(): Removing tracks is not supported. Track indices {removedTracksIndices}")
|
|
|
|
|
# #for removedTrackIndex in mediaDifferences[MediaDescriptor.TRACKS_KEY][DIFF_REMOVED_KEY]:
|
|
|
|
|
# # row = (f"removed track: index={removedTrackIndex}",)
|
|
|
|
|
# # self.differencesTable.add_row(*map(str, row))
|
|
|
|
|
#
|
|
|
|
|
# # media diff {'tracks': {'changed': {4: {'tags': {'added': {'Yolo'}}}}}}
|
|
|
|
|
# if DIFF_CHANGED_KEY in mediaDifferences[MediaDescriptor.TRACKS_KEY].keys():
|
|
|
|
|
# for changedTrackIndex in mediaDifferences[MediaDescriptor.TRACKS_KEY][DIFF_CHANGED_KEY].keys():
|
|
|
|
|
#
|
|
|
|
|
# changedTargetTrackDescriptor : TrackDescriptor = targetTrackDescriptors[changedTrackIndex]
|
|
|
|
|
# changedTargetTrackSourceIndex = changedTargetTrackDescriptor.getSourceIndex()
|
|
|
|
|
# changedTargetSourceSubIndex = sourceTrackDescriptors[changedTargetTrackSourceIndex].getSubIndex()
|
|
|
|
|
# # changedSourceTrackDescriptor : TrackDescriptor = sourceTrackDescriptors[changedTargetTrackSourceIndex]
|
|
|
|
|
# # changedSourceTrackSubIndex = changedSourceTrackDescriptor.getSubIndex()
|
|
|
|
|
#
|
|
|
|
|
# changedTrackDiff : dict = mediaDifferences[MediaDescriptor.TRACKS_KEY][DIFF_CHANGED_KEY][changedTrackIndex]
|
|
|
|
|
#
|
|
|
|
|
# if MediaDescriptor.TAGS_KEY in changedTrackDiff.keys():
|
|
|
|
|
#
|
|
|
|
|
#
|
|
|
|
|
# if DIFF_REMOVED_KEY in changedTrackDiff[MediaDescriptor.TAGS_KEY]:
|
|
|
|
|
# #for removedTagKey in changedTrackDiff[MediaDescriptor.TAGS_KEY][DIFF_REMOVED_KEY]:
|
|
|
|
|
# # row = (f"changed {changedTargetTrackDescriptor.getType().label()} track index={changedTrackIndex} removed key={removedTagKey}",)
|
|
|
|
|
# # self.differencesTable.add_row(*map(str, row))
|
|
|
|
|
#
|
|
|
|
|
# #addedTagValue = targetTrackDescriptors[changedTargetTrackSourceIndex].getTags()[addedTagKey]
|
|
|
|
|
#
|
|
|
|
|
# metadataTokens += [f"-map_metadata:s:{changedTargetTrackDescriptor.getType().indicator()}:{changedTargetSourceSubIndex}", "-1"]
|
|
|
|
|
#
|
|
|
|
|
# for targetTrackTagKey, targetTrackTagValue in changedTargetTrackDescriptor.getTags():
|
|
|
|
|
# metadataTokens += [f"-metadata:s:{changedTargetTrackDescriptor.getType().indicator()}:{changedTargetSourceSubIndex}",
|
|
|
|
|
# f"{targetTrackTagKey}={targetTrackTagValue}"]
|
|
|
|
|
#
|
|
|
|
|
# else:
|
|
|
|
|
#
|
|
|
|
|
# # media diff {'tracks': {'changed': {4: {'tags': {'added': {'Yolo'}}}}}}
|
|
|
|
|
# if DIFF_ADDED_KEY in changedTrackDiff[MediaDescriptor.TAGS_KEY]:
|
|
|
|
|
# for addedTagKey in changedTrackDiff[MediaDescriptor.TAGS_KEY][DIFF_ADDED_KEY]:
|
|
|
|
|
#
|
|
|
|
|
# addedTagValue = targetTrackDescriptors[changedTargetTrackSourceIndex].getTags()[addedTagKey]
|
|
|
|
|
#
|
|
|
|
|
# # addedTagValue = changedTrackDiff[MediaDescriptor.TAGS_KEY][DIFF_ADDED_KEY][addedTagKey]
|
|
|
|
|
#
|
|
|
|
|
# # click.echo(f"addedTagValue={addedTagValue}")
|
|
|
|
|
# # click.echo(f"sourceTrackDescriptors: subindex={[s.getSubIndex() for s in sourceTrackDescriptors]} sourceindex={[s.getSourceIndex() for s in sourceTrackDescriptors]} tags={[s.getTags() for s in sourceTrackDescriptors]}")
|
|
|
|
|
# # click.echo(f"targetTrackDescriptors: subindex={[t.getSubIndex() for t in targetTrackDescriptors]} sourceindex={[t.getSourceIndex() for t in targetTrackDescriptors]} tags={[t.getTags() for t in targetTrackDescriptors]}")
|
|
|
|
|
# # click.echo(f"changed track_index={changedTrackIndex} indicator={changedTargetTrackDescriptor.getType().indicator()} key={addedTagKey} value={addedTagValue} source_index={changedSourceTrackIndex}")
|
|
|
|
|
#
|
|
|
|
|
# metadataTokens += [f"-metadata:s:{changedTargetTrackDescriptor.getType().indicator()}:{changedTargetSourceSubIndex}",
|
|
|
|
|
# f"{addedTagKey}={addedTagValue}"]
|
|
|
|
|
#
|
|
|
|
|
# # media diff {'tracks': {'changed': {4: {'tags': {'added': {'Yolo'}}}}}}
|
|
|
|
|
# if DIFF_CHANGED_KEY in changedTrackDiff[MediaDescriptor.TAGS_KEY]:
|
|
|
|
|
# for changedTagKey in changedTrackDiff[MediaDescriptor.TAGS_KEY][DIFF_CHANGED_KEY]:
|
|
|
|
|
#
|
|
|
|
|
# changedTagValue = targetTrackDescriptors[changedTargetTrackSourceIndex].getTags()[changedTagKey]
|
|
|
|
|
# # sourceSubIndex = sourceTrackDescriptors[changedTargetTrackSourceIndex].getSubIndex()
|
|
|
|
|
# # addedTagValue = changedTrackDiff[MediaDescriptor.TAGS_KEY][DIFF_ADDED_KEY][addedTagKey]
|
|
|
|
|
#
|
|
|
|
|
# # click.echo(f"addedTagValue={addedTagValue}")
|
|
|
|
|
# # click.echo(f"sourceTrackDescriptors: subindex={[s.getSubIndex() for s in sourceTrackDescriptors]} sourceindex={[s.getSourceIndex() for s in sourceTrackDescriptors]} tags={[s.getTags() for s in sourceTrackDescriptors]}")
|
|
|
|
|
# # click.echo(f"targetTrackDescriptors: subindex={[t.getSubIndex() for t in targetTrackDescriptors]} sourceindex={[t.getSourceIndex() for t in targetTrackDescriptors]} tags={[t.getTags() for t in targetTrackDescriptors]}")
|
|
|
|
|
# # click.echo(f"changed track_index={changedTrackIndex} indicator={changedTargetTrackDescriptor.getType().indicator()} key={addedTagKey} value={addedTagValue} source_index={changedSourceTrackIndex}")
|
|
|
|
|
#
|
|
|
|
|
# metadataTokens += [f"-metadata:s:{changedTargetTrackDescriptor.getType().indicator()}:{changedTargetSourceSubIndex}",
|
|
|
|
|
# f"{changedTagKey}={changedTagValue}"]
|
|
|
|
|
#
|
|
|
|
|
# # if TrackDescriptor.DISPOSITION_SET_KEY in changedTrackDiff.keys():
|
|
|
|
|
#
|
|
|
|
|
# # if DIFF_ADDED_KEY in changedTrackDiff[TrackDescriptor.DISPOSITION_SET_KEY]:
|
|
|
|
|
# # for addedDisposition in changedTrackDiff[TrackDescriptor.DISPOSITION_SET_KEY][DIFF_ADDED_KEY]:
|
|
|
|
|
# # # row = (f"changed {changedTargetTrackDescriptor.getType().label()} track index={changedTrackIndex} added disposition={addedDisposition.label()}",)
|
|
|
|
|
# # # self.differencesTable.add_row(*map(str, row))
|
|
|
|
|
# # pass
|
|
|
|
|
#
|
|
|
|
|
# # if DIFF_REMOVED_KEY in changedTrackDiff[TrackDescriptor.DISPOSITION_SET_KEY]:
|
|
|
|
|
# # for removedDisposition in changedTrackDiff[TrackDescriptor.DISPOSITION_SET_KEY][DIFF_REMOVED_KEY]:
|
|
|
|
|
# # # row = (f"changed {changedTargetTrackDescriptor.getType().label()} track index={changedTrackIndex} removed disposition={removedDisposition.label()}",)
|
|
|
|
|
# # # self.differencesTable.add_row(*map(str, row))
|
|
|
|
|
# # pass
|
|
|
|
|
|
|
|
|
|
# return metadataTokens
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def generateMetadataTokens(self):
|
|
|
|
|
"""Source media descriptor is mandatory"""
|
|
|
|
|
|
|
|
|
|
metadataTokens = []
|
|
|
|
|
|
|
|
|
|
# click.echo(f"source media descriptor: track indices={[d.getIndex() for d in sourceMediaDescriptor.getAllTrackDescriptors()]}")
|
|
|
|
|
# click.echo(f"target media descriptor: track indices={[d.getIndex() for d in targetMediaDescriptor.getAllTrackDescriptors()]}")
|
|
|
|
|
for tagKey, tagValue in self.__targetMediaDescriptor.getTags().items():
|
|
|
|
|
|
|
|
|
|
# +jellyfin -jellyfin
|
|
|
|
|
mediaDifferences = self.__targetMediaDescriptor.compare(self.__sourceMediaDescriptor)
|
|
|
|
|
|
|
|
|
|
# media diff {'tracks': {'changed': {4: {'tags': {'added': {'Yolo'}}}}}}
|
|
|
|
|
|
|
|
|
|
click.echo(f"media diff {mediaDifferences}")
|
|
|
|
|
|
|
|
|
|
if MediaDescriptor.TAGS_KEY in mediaDifferences.keys():
|
|
|
|
|
|
|
|
|
|
sourceTags = self.__sourceMediaDescriptor.getTags()
|
|
|
|
|
targetTags = self.__targetMediaDescriptor.getTags()
|
|
|
|
|
|
|
|
|
|
#TODO: Warum erscheint nur -1 im output?
|
|
|
|
|
if DIFF_REMOVED_KEY in mediaDifferences[MediaDescriptor.TAGS_KEY].keys():
|
|
|
|
|
# for removedTagKey in mediaDifferences[MediaDescriptor.TAGS_KEY][DIFF_REMOVED_KEY]:
|
|
|
|
|
# row = (f"removed media tag: key='{removedTagKey}' value='{sourceTags[removedTagKey]}'",)
|
|
|
|
|
# self.differencesTable.add_row(*map(str, row))
|
|
|
|
|
metadataTokens += [f"-map_metadata:g", "-1"]
|
|
|
|
|
|
|
|
|
|
for targetMediaTagKey in targetTags:
|
|
|
|
|
metadataTokens += [f"-metadata:g", f"{targetMediaTagKey}={targetTags[targetMediaTagKey]}"]
|
|
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
|
|
if DIFF_ADDED_KEY in mediaDifferences[MediaDescriptor.TAGS_KEY].keys():
|
|
|
|
|
for addedTagKey in mediaDifferences[MediaDescriptor.TAGS_KEY][DIFF_ADDED_KEY]:
|
|
|
|
|
# row = (f"added media tag: key='{addedTagKey}' value='{targetTags[addedTagKey]}'",)
|
|
|
|
|
click.echo(f"added metadata key='{addedTagKey}' value='{targetTags[addedTagKey]}'->'{targetTags[addedTagKey]}'")
|
|
|
|
|
# self.differencesTable.add_row(*map(str, row))
|
|
|
|
|
#pass
|
|
|
|
|
metadataTokens += [f"-metadata:g", f"{addedTagKey}={targetTags[addedTagKey]}"]
|
|
|
|
|
metadataTokens += [f"-metadata:g",
|
|
|
|
|
f"{tagKey}={tagValue}"]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if DIFF_CHANGED_KEY in mediaDifferences[MediaDescriptor.TAGS_KEY].keys():
|
|
|
|
|
for changedTagKey in mediaDifferences[MediaDescriptor.TAGS_KEY][DIFF_CHANGED_KEY]:
|
|
|
|
|
#row = (f"changed media tag: key='{changedTagKey}' value='{sourceTags[changedTagKey]}'->'{targetTags[changedTagKey]}'",)
|
|
|
|
|
click.echo(f"changed metadata key='{changedTagKey}' value='{sourceTags[changedTagKey]}'->'{targetTags[changedTagKey]}'")
|
|
|
|
|
# self.differencesTable.add_row(*map(str, row))
|
|
|
|
|
#pass
|
|
|
|
|
metadataTokens += [f"-metadata:g", f"{changedTagKey}={targetTags[changedTagKey]}"]
|
|
|
|
|
|
|
|
|
|
if MediaDescriptor.TRACKS_KEY in mediaDifferences.keys():
|
|
|
|
|
|
|
|
|
|
sourceTrackDescriptors = self.__sourceMediaDescriptor.getAllTrackDescriptors()
|
|
|
|
|
targetTrackDescriptors = self.__targetMediaDescriptor.getReorderedTrackDescriptors()
|
|
|
|
|
|
|
|
|
|
if DIFF_ADDED_KEY in mediaDifferences[MediaDescriptor.TRACKS_KEY].keys():
|
|
|
|
|
addedTracksIndices = mediaDifferences[MediaDescriptor.TRACKS_KEY][DIFF_ADDED_KEY]
|
|
|
|
|
raise click.ClickException(f"FfxController.generateMetadataTokens(): Adding tracks is not supported. Track indices {addedTracksIndices}")
|
|
|
|
|
|
|
|
|
|
#raise click.ClickException(f"add track {mediaDifferences[MediaDescriptor.TRACKS_KEY][DIFF_ADDED_KEY]}")
|
|
|
|
|
#for addedTrackIndex in mediaDifferences[MediaDescriptor.TRACKS_KEY][DIFF_ADDED_KEY]:
|
|
|
|
|
#addedTrack : Track = targetTrackDescriptors[addedTrackIndex]
|
|
|
|
|
# row = (f"added {addedTrack.getType().label()} track: index={addedTrackIndex} lang={addedTrack.getLanguage().threeLetter()}",)
|
|
|
|
|
# self.differencesTable.add_row(*map(str, row))
|
|
|
|
|
|
|
|
|
|
if DIFF_REMOVED_KEY in mediaDifferences[MediaDescriptor.TRACKS_KEY].keys():
|
|
|
|
|
removedTracksIndices = mediaDifferences[MediaDescriptor.TRACKS_KEY][DIFF_ADDED_KEY].keys()
|
|
|
|
|
raise click.ClickException(f"FfxController.generateMetadataTokens(): Removing tracks is not supported. Track indices {removedTracksIndices}")
|
|
|
|
|
#for removedTrackIndex in mediaDifferences[MediaDescriptor.TRACKS_KEY][DIFF_REMOVED_KEY]:
|
|
|
|
|
# row = (f"removed track: index={removedTrackIndex}",)
|
|
|
|
|
# self.differencesTable.add_row(*map(str, row))
|
|
|
|
|
|
|
|
|
|
# media diff {'tracks': {'changed': {4: {'tags': {'added': {'Yolo'}}}}}}
|
|
|
|
|
if DIFF_CHANGED_KEY in mediaDifferences[MediaDescriptor.TRACKS_KEY].keys():
|
|
|
|
|
for changedTrackIndex in mediaDifferences[MediaDescriptor.TRACKS_KEY][DIFF_CHANGED_KEY].keys():
|
|
|
|
|
|
|
|
|
|
changedTargetTrackDescriptor : TrackDescriptor = targetTrackDescriptors[changedTrackIndex]
|
|
|
|
|
changedTargetTrackSourceIndex = changedTargetTrackDescriptor.getSourceIndex()
|
|
|
|
|
changedTargetSourceSubIndex = sourceTrackDescriptors[changedTargetTrackSourceIndex].getSubIndex()
|
|
|
|
|
# changedSourceTrackDescriptor : TrackDescriptor = sourceTrackDescriptors[changedTargetTrackSourceIndex]
|
|
|
|
|
# changedSourceTrackSubIndex = changedSourceTrackDescriptor.getSubIndex()
|
|
|
|
|
|
|
|
|
|
changedTrackDiff : dict = mediaDifferences[MediaDescriptor.TRACKS_KEY][DIFF_CHANGED_KEY][changedTrackIndex]
|
|
|
|
|
|
|
|
|
|
if MediaDescriptor.TAGS_KEY in changedTrackDiff.keys():
|
|
|
|
|
#NOTE: With current version track metadata tags are not passed to the outfile
|
|
|
|
|
targetTrackDescriptors = self.__targetMediaDescriptor.getReorderedTrackDescriptors()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if DIFF_REMOVED_KEY in changedTrackDiff[MediaDescriptor.TAGS_KEY]:
|
|
|
|
|
#for removedTagKey in changedTrackDiff[MediaDescriptor.TAGS_KEY][DIFF_REMOVED_KEY]:
|
|
|
|
|
# row = (f"changed {changedTargetTrackDescriptor.getType().label()} track index={changedTrackIndex} removed key={removedTagKey}",)
|
|
|
|
|
# self.differencesTable.add_row(*map(str, row))
|
|
|
|
|
for d in targetTrackDescriptors:
|
|
|
|
|
|
|
|
|
|
#addedTagValue = targetTrackDescriptors[changedTargetTrackSourceIndex].getTags()[addedTagKey]
|
|
|
|
|
# changedTagValue = targetTrackDescriptors[changedTargetTrackSourceIndex].getTags()[changedTagKey]
|
|
|
|
|
# sourceSubIndex = sourceTrackDescriptors[changedTargetTrackSourceIndex].getSubIndex()
|
|
|
|
|
# addedTagValue = changedTrackDiff[MediaDescriptor.TAGS_KEY][DIFF_ADDED_KEY][addedTagKey]
|
|
|
|
|
|
|
|
|
|
metadataTokens += [f"-map_metadata:s:{changedTargetTrackDescriptor.getType().indicator()}:{changedTargetSourceSubIndex}", "-1"]
|
|
|
|
|
# click.echo(f"addedTagValue={addedTagValue}")
|
|
|
|
|
# click.echo(f"sourceTrackDescriptors: subindex={[s.getSubIndex() for s in sourceTrackDescriptors]} sourceindex={[s.getSourceIndex() for s in sourceTrackDescriptors]} tags={[s.getTags() for s in sourceTrackDescriptors]}")
|
|
|
|
|
# click.echo(f"targetTrackDescriptors: subindex={[t.getSubIndex() for t in targetTrackDescriptors]} sourceindex={[t.getSourceIndex() for t in targetTrackDescriptors]} tags={[t.getTags() for t in targetTrackDescriptors]}")
|
|
|
|
|
# click.echo(f"changed track_index={changedTrackIndex} indicator={changedTargetTrackDescriptor.getType().indicator()} key={addedTagKey} value={addedTagValue} source_index={changedSourceTrackIndex}")
|
|
|
|
|
for tagKey, tagValue in d.getTags().items():
|
|
|
|
|
|
|
|
|
|
for targetTrackTagKey, targetTrackTagValue in changedTargetTrackDescriptor.getTags():
|
|
|
|
|
metadataTokens += [f"-metadata:s:{changedTargetTrackDescriptor.getType().indicator()}:{changedTargetSourceSubIndex}",
|
|
|
|
|
f"{targetTrackTagKey}={targetTrackTagValue}"]
|
|
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
|
|
# media diff {'tracks': {'changed': {4: {'tags': {'added': {'Yolo'}}}}}}
|
|
|
|
|
if DIFF_ADDED_KEY in changedTrackDiff[MediaDescriptor.TAGS_KEY]:
|
|
|
|
|
for addedTagKey in changedTrackDiff[MediaDescriptor.TAGS_KEY][DIFF_ADDED_KEY]:
|
|
|
|
|
|
|
|
|
|
addedTagValue = targetTrackDescriptors[changedTargetTrackSourceIndex].getTags()[addedTagKey]
|
|
|
|
|
|
|
|
|
|
# addedTagValue = changedTrackDiff[MediaDescriptor.TAGS_KEY][DIFF_ADDED_KEY][addedTagKey]
|
|
|
|
|
|
|
|
|
|
# click.echo(f"addedTagValue={addedTagValue}")
|
|
|
|
|
# click.echo(f"sourceTrackDescriptors: subindex={[s.getSubIndex() for s in sourceTrackDescriptors]} sourceindex={[s.getSourceIndex() for s in sourceTrackDescriptors]} tags={[s.getTags() for s in sourceTrackDescriptors]}")
|
|
|
|
|
# click.echo(f"targetTrackDescriptors: subindex={[t.getSubIndex() for t in targetTrackDescriptors]} sourceindex={[t.getSourceIndex() for t in targetTrackDescriptors]} tags={[t.getTags() for t in targetTrackDescriptors]}")
|
|
|
|
|
# click.echo(f"changed track_index={changedTrackIndex} indicator={changedTargetTrackDescriptor.getType().indicator()} key={addedTagKey} value={addedTagValue} source_index={changedSourceTrackIndex}")
|
|
|
|
|
|
|
|
|
|
metadataTokens += [f"-metadata:s:{changedTargetTrackDescriptor.getType().indicator()}:{changedTargetSourceSubIndex}",
|
|
|
|
|
f"{addedTagKey}={addedTagValue}"]
|
|
|
|
|
|
|
|
|
|
# media diff {'tracks': {'changed': {4: {'tags': {'added': {'Yolo'}}}}}}
|
|
|
|
|
if DIFF_CHANGED_KEY in changedTrackDiff[MediaDescriptor.TAGS_KEY]:
|
|
|
|
|
for changedTagKey in changedTrackDiff[MediaDescriptor.TAGS_KEY][DIFF_CHANGED_KEY]:
|
|
|
|
|
|
|
|
|
|
changedTagValue = targetTrackDescriptors[changedTargetTrackSourceIndex].getTags()[changedTagKey]
|
|
|
|
|
# sourceSubIndex = sourceTrackDescriptors[changedTargetTrackSourceIndex].getSubIndex()
|
|
|
|
|
# addedTagValue = changedTrackDiff[MediaDescriptor.TAGS_KEY][DIFF_ADDED_KEY][addedTagKey]
|
|
|
|
|
|
|
|
|
|
# click.echo(f"addedTagValue={addedTagValue}")
|
|
|
|
|
# click.echo(f"sourceTrackDescriptors: subindex={[s.getSubIndex() for s in sourceTrackDescriptors]} sourceindex={[s.getSourceIndex() for s in sourceTrackDescriptors]} tags={[s.getTags() for s in sourceTrackDescriptors]}")
|
|
|
|
|
# click.echo(f"targetTrackDescriptors: subindex={[t.getSubIndex() for t in targetTrackDescriptors]} sourceindex={[t.getSourceIndex() for t in targetTrackDescriptors]} tags={[t.getTags() for t in targetTrackDescriptors]}")
|
|
|
|
|
# click.echo(f"changed track_index={changedTrackIndex} indicator={changedTargetTrackDescriptor.getType().indicator()} key={addedTagKey} value={addedTagValue} source_index={changedSourceTrackIndex}")
|
|
|
|
|
|
|
|
|
|
metadataTokens += [f"-metadata:s:{changedTargetTrackDescriptor.getType().indicator()}:{changedTargetSourceSubIndex}",
|
|
|
|
|
f"{changedTagKey}={changedTagValue}"]
|
|
|
|
|
|
|
|
|
|
# if TrackDescriptor.DISPOSITION_SET_KEY in changedTrackDiff.keys():
|
|
|
|
|
|
|
|
|
|
# if DIFF_ADDED_KEY in changedTrackDiff[TrackDescriptor.DISPOSITION_SET_KEY]:
|
|
|
|
|
# for addedDisposition in changedTrackDiff[TrackDescriptor.DISPOSITION_SET_KEY][DIFF_ADDED_KEY]:
|
|
|
|
|
# # row = (f"changed {changedTargetTrackDescriptor.getType().label()} track index={changedTrackIndex} added disposition={addedDisposition.label()}",)
|
|
|
|
|
# # self.differencesTable.add_row(*map(str, row))
|
|
|
|
|
# pass
|
|
|
|
|
|
|
|
|
|
# if DIFF_REMOVED_KEY in changedTrackDiff[TrackDescriptor.DISPOSITION_SET_KEY]:
|
|
|
|
|
# for removedDisposition in changedTrackDiff[TrackDescriptor.DISPOSITION_SET_KEY][DIFF_REMOVED_KEY]:
|
|
|
|
|
# # row = (f"changed {changedTargetTrackDescriptor.getType().label()} track index={changedTrackIndex} removed disposition={removedDisposition.label()}",)
|
|
|
|
|
# # self.differencesTable.add_row(*map(str, row))
|
|
|
|
|
# pass
|
|
|
|
|
metadataTokens += [f"-metadata:s:{d.getType().indicator()}:{d.getSubIndex()}",
|
|
|
|
|
f"{tagKey}={tagValue}"]
|
|
|
|
|
|
|
|
|
|
return metadataTokens
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def runJob(self,
|
|
|
|
|
sourcePath,
|
|
|
|
|
targetPath,
|
|
|
|
|
|