0.12.0-12 Job Fix
This commit is contained in:
@@ -8187,17 +8187,18 @@ class PipelineService extends EventEmitter {
|
||||
}
|
||||
|
||||
const hasEncodableTitle = Boolean(review.encodeInputPath && review.encodeInputTitleId);
|
||||
const readyStatusText = review.titleSelectionRequired
|
||||
? 'Titel-/Spurprüfung fertig - Titel per Checkbox wählen'
|
||||
: (hasEncodableTitle
|
||||
? 'Titel-/Spurprüfung fertig - Auswahl bestätigen, dann Encode manuell starten'
|
||||
: 'Titel-/Spurprüfung fertig - kein Titel erfüllt MIN_LENGTH_MINUTES');
|
||||
if (this.isPrimaryJob(jobId)) {
|
||||
const mergedPluginExecutionForReady = getMergedReviewPluginExecution();
|
||||
await this.setState('READY_TO_ENCODE', {
|
||||
activeJobId: jobId,
|
||||
progress: 0,
|
||||
eta: null,
|
||||
statusText: review.titleSelectionRequired
|
||||
? 'Titel-/Spurprüfung fertig - Titel per Checkbox wählen'
|
||||
: (hasEncodableTitle
|
||||
? 'Titel-/Spurprüfung fertig - Auswahl bestätigen, dann Encode manuell starten'
|
||||
: 'Titel-/Spurprüfung fertig - kein Titel erfüllt MIN_LENGTH_MINUTES'),
|
||||
statusText: readyStatusText,
|
||||
context: {
|
||||
...(this.snapshot.context || {}),
|
||||
jobId,
|
||||
@@ -8218,6 +8219,26 @@ class PipelineService extends EventEmitter {
|
||||
...(mergedPluginExecutionForReady ? { pluginExecution: mergedPluginExecutionForReady } : {})
|
||||
}
|
||||
});
|
||||
} else {
|
||||
await this.updateProgress('READY_TO_ENCODE', 0, null, readyStatusText, jobId, {
|
||||
contextPatch: {
|
||||
jobId,
|
||||
rawPath,
|
||||
inputPath: review.encodeInputPath || null,
|
||||
hasEncodableTitle,
|
||||
reviewConfirmed: false,
|
||||
mode,
|
||||
mediaProfile,
|
||||
sourceJobId: options.sourceJobId || null,
|
||||
mediaInfoReview: review,
|
||||
selectedMetadata,
|
||||
playlistAnalysis: playlistAnalysis || null,
|
||||
playlistDecisionRequired,
|
||||
playlistCandidates,
|
||||
selectedPlaylist: resolvedPlaylistId || null,
|
||||
selectedTitleId: selectedTitleForReview
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void this.notifyPushover('metadata_ready', {
|
||||
@@ -10164,27 +10185,35 @@ class PipelineService extends EventEmitter {
|
||||
'SYSTEM',
|
||||
`HandBrake DVD Titelauswahl erforderlich: ${titleCandidates.length} Kandidaten. Nutzer muss Titel wählen.`
|
||||
);
|
||||
const dvdWaitingStatusText = `DVD Titelauswahl: ${titleCandidates.length} Kandidaten gefunden`;
|
||||
const dvdWaitingContextPatch = {
|
||||
jobId,
|
||||
rawPath,
|
||||
handBrakeTitleDecisionRequired: true,
|
||||
handBrakeTitleCandidates: candidatesData,
|
||||
handBrakeDvdInputPath: dvdScanInputPath,
|
||||
reviewConfirmed: false,
|
||||
mode: options.mode || 'rip',
|
||||
mediaProfile,
|
||||
sourceJobId: options.sourceJobId || null,
|
||||
mediaInfoReview: enrichedReview,
|
||||
selectedMetadata
|
||||
};
|
||||
if (this.isPrimaryJob(jobId)) {
|
||||
await this.setState('WAITING_FOR_USER_DECISION', {
|
||||
activeJobId: jobId,
|
||||
progress: 0,
|
||||
eta: null,
|
||||
statusText: `DVD Titelauswahl: ${titleCandidates.length} Kandidaten gefunden`,
|
||||
statusText: dvdWaitingStatusText,
|
||||
context: {
|
||||
jobId,
|
||||
rawPath,
|
||||
handBrakeTitleDecisionRequired: true,
|
||||
handBrakeTitleCandidates: candidatesData,
|
||||
handBrakeDvdInputPath: dvdScanInputPath,
|
||||
reviewConfirmed: false,
|
||||
mode: options.mode || 'rip',
|
||||
mediaProfile,
|
||||
sourceJobId: options.sourceJobId || null,
|
||||
mediaInfoReview: enrichedReview,
|
||||
selectedMetadata,
|
||||
...dvdWaitingContextPatch,
|
||||
...(reviewPluginExecution ? { pluginExecution: this.mergePluginExecutionState(mkInfo?.pluginExecution, reviewPluginExecution) } : {})
|
||||
}
|
||||
});
|
||||
} else {
|
||||
await this.updateProgress('WAITING_FOR_USER_DECISION', 0, null, dvdWaitingStatusText, jobId, {
|
||||
contextPatch: dvdWaitingContextPatch
|
||||
});
|
||||
}
|
||||
void this.notifyPushover('metadata_ready', {
|
||||
title: 'Ripster - DVD Titelauswahl',
|
||||
@@ -10247,30 +10276,38 @@ class PipelineService extends EventEmitter {
|
||||
);
|
||||
}
|
||||
|
||||
const mediainfoReadyStatusText = titleSelectionRequired
|
||||
? 'Mediainfo geprüft - Titelauswahl per Checkbox erforderlich'
|
||||
: (hasEncodableTitle
|
||||
? 'Mediainfo geprüft - Encode manuell starten'
|
||||
: 'Mediainfo geprüft - kein Titel erfüllt MIN_LENGTH_MINUTES');
|
||||
const mediainfoReadyContextPatch = {
|
||||
jobId,
|
||||
rawPath,
|
||||
inputPath: enrichedReview.encodeInputPath || null,
|
||||
hasEncodableTitle,
|
||||
reviewConfirmed: false,
|
||||
mode: options.mode || 'rip',
|
||||
mediaProfile,
|
||||
sourceJobId: options.sourceJobId || null,
|
||||
mediaInfoReview: enrichedReview,
|
||||
selectedMetadata
|
||||
};
|
||||
if (this.isPrimaryJob(jobId)) {
|
||||
await this.setState('READY_TO_ENCODE', {
|
||||
activeJobId: jobId,
|
||||
progress: 0,
|
||||
eta: null,
|
||||
statusText: titleSelectionRequired
|
||||
? 'Mediainfo geprüft - Titelauswahl per Checkbox erforderlich'
|
||||
: (hasEncodableTitle
|
||||
? 'Mediainfo geprüft - Encode manuell starten'
|
||||
: 'Mediainfo geprüft - kein Titel erfüllt MIN_LENGTH_MINUTES'),
|
||||
statusText: mediainfoReadyStatusText,
|
||||
context: {
|
||||
jobId,
|
||||
rawPath,
|
||||
inputPath: enrichedReview.encodeInputPath || null,
|
||||
hasEncodableTitle,
|
||||
reviewConfirmed: false,
|
||||
mode: options.mode || 'rip',
|
||||
mediaProfile,
|
||||
sourceJobId: options.sourceJobId || null,
|
||||
mediaInfoReview: enrichedReview,
|
||||
selectedMetadata,
|
||||
...mediainfoReadyContextPatch,
|
||||
...(reviewPluginExecution ? { pluginExecution: this.mergePluginExecutionState(mkInfo?.pluginExecution, reviewPluginExecution) } : {})
|
||||
}
|
||||
});
|
||||
} else {
|
||||
await this.updateProgress('READY_TO_ENCODE', 0, null, mediainfoReadyStatusText, jobId, {
|
||||
contextPatch: mediainfoReadyContextPatch
|
||||
});
|
||||
}
|
||||
|
||||
void this.notifyPushover('metadata_ready', {
|
||||
|
||||
Reference in New Issue
Block a user