private async static Task<string> MaybeRunTimeShiftAsync(string scrapeOutput, int? timeShift) { if (timeShift == null) { return scrapeOutput; } using (var shift = new GeneralProcess(SHIFT, timeShift.ToString())) { return await shift.ExecuteAsync(scrapeOutput.ToMaybe()); } }
private async static Task<string> ProcessImageJobAsync(ImageJob imageJob, string folderOfMediaFiles) { var newImageJobs = new ImageJobs { Images = new[] { imageJob }, }; var serializedNewImageJobs = JsonConvert.SerializeObject(newImageJobs); using (var rip = new GeneralProcess(RIP, string.Format("\"{0}\"", folderOfMediaFiles))) { using (var dedup = new GeneralProcess(DEDUP)) { using (var match = new GeneralProcess(MATCH)) { string ripOutput = await rip.ExecuteAsync(serializedNewImageJobs.ToMaybe()); string dedupOutput = await dedup.ExecuteAsync(ripOutput.ToMaybe()); string matchOutput = await match.ExecuteAsync(dedupOutput.ToMaybe()); MoveCompletedPhotos(matchOutput); return matchOutput; } } } }
private async static Task<DispatcherResults> FireProcessesAsync( string folderOfMediaFiles, int? timeShift, string sliceProgramArgs ) { using (var slice = new GeneralProcess(SLICE, sliceProgramArgs)) { using (var scrape = new GeneralProcess(SCRAPE)) { string sliceOutput = await slice.ExecuteAsync(Maybe<string>.Nothing); string scrapeOutput = await scrape.ExecuteAsync(sliceOutput.ToMaybe()); string shiftOutput = await MaybeRunTimeShiftAsync(scrapeOutput, timeShift); return await RunImageRippers(shiftOutput, folderOfMediaFiles); } } }