#433 Descriptor Pattern Checks

dev
Maveno 10 months ago
parent 5eacb0d0cb
commit 74a39a8f9a

@ -548,10 +548,8 @@ def convert(ctx,
targetSuffices = {}
mediaFileProperties = FileProperties(context, sourcePath)
ssc = ShiftedSeasonController(context)
showId = mediaFileProperties.getShowId()
@ -599,8 +597,28 @@ def convert(ctx,
checkUniqueDispositions(context, targetMediaDescriptor)
currentShowDescriptor = currentPattern.getShowDescriptor(ctx.obj)
if len(sourceMediaDescriptor.getTrackDescriptors()) != len(targetMediaDescriptor.getTrackDescriptors()):
raise click.ClickException(f"Number of source streams differs from stored media descriptor")
# Check if source and target track descriptors match
sourceTrackDescriptorList = sourceMediaDescriptor.getTrackDescriptors()
targetTrackDescriptorList = targetMediaDescriptor.getTrackDescriptors()
for ttd in targetTrackDescriptorList:
tti = ttd.getIndex()
ttsi = ttd.getSourceIndex()
stList = [st for st in sourceTrackDescriptorList if st.getIndex() == ttsi]
std = stList[0] if stList else None
if std is None:
raise click.ClickException(f"Target track #{tti} refering to non-existent source track #{ttsi}")
ttType = ttd.getType()
stType = std.getType()
if ttType != stType:
raise click.ClickException(f"Target track #{tti} type ({ttType.label()}) not matching source track #{ttsi} type ({stType.label()})")
if context['import_subtitles']:
targetMediaDescriptor.importSubtitles(context['subtitle_directory'],
@ -681,12 +699,8 @@ def convert(ctx,
for chainIteration in chainYield:
ctx.obj['logger'].debug(f"\nchain iteration: {chainIteration}\n")
# if len(q_list) > 1:
# targetSuffices['q'] = f"q{q}"
chainVariant = '-'.join([fy['variant'] for fy in chainIteration])
ctx.obj['logger'].debug(f"\nRunning job {jobIndex} file={sourcePath} variant={chainVariant}")
@ -695,37 +709,20 @@ def convert(ctx,
ctx.obj['logger'].debug(f"label={label if label else 'Falsy'}")
ctx.obj['logger'].debug(f"sourceFileBasename={sourceFileBasename}")
# targetFileBasename = mediaFileProperties.assembleTargetFileBasename(label,
# q if len(q_list) > 1 else -1,
#
targetFileBasename = sourceFileBasename if context['use_tmdb'] and not label else label
targetFilenameTokens = [targetFileBasename]
if 'se' in targetSuffices.keys():
targetFilenameTokens += [targetSuffices['se']]
# if 'q' in targetSuffices.keys():
# targetFilenameTokens += [targetSuffices['q']]
for filterYield in chainIteration:
# filterIdentifier = filterYield['identifier']
# filterParameters = filterYield['parameters']
# filterSuffices = filterYield['suffices']
targetFilenameTokens += filterYield['suffices']
#TODO #387
# targetFilename = ((f"{sourceFileBasename}_q{q}" if len(q_list) > 1 else sourceFileBasename)
# if context['use_tmdb'] else targetFileBasename)
targetFilename = f"{'_'.join(targetFilenameTokens)}.{targetExtension}"
# targetPath = os.path.join(output_directory if output_directory else sourceDirectory, targetFilename)
targetPath = os.path.join(output_directory, targetFilename) if output_directory else targetFilename
#TODO: target extension anpassen
ctx.obj['logger'].info(f"Creating file {targetFilename}")
fc.runJob(sourcePath,
@ -734,8 +731,6 @@ def convert(ctx,
context['video_encoder'],
chainIteration)
#TODO: click.confirm('Warning! This file is not compliant to the defined source schema! Do you want to continue?', abort=True)
endTime = time.perf_counter()
ctx.obj['logger'].info(f"\nDONE\nTime elapsed {endTime - startTime}")

Loading…
Cancel
Save