private void InitAllByLocalPath() { var dupeUploadAudioIdSet = File.ReadLines(@"F:\WorkFolder\Summary\20210425\DupeUpload.txt").ToHashSet(); var overallList = File.ReadLines(@"F:\WorkFolder\Summary\20210222\Important\OverallMappingAll.txt").Select(x => new OverallMappingLine(x)) .Where(x => !dupeUploadAudioIdSet.Contains(x.AudioId)) .ToDictionary(x => x.AudioPath.ToLower(), x => x); var g = File.ReadLines(@"F:\WorkFolder\Summary\20210222\Important\FullMapping.txt") .Select(x => new FullMappingLine(x)) .Where(x => !dupeUploadAudioIdSet.Contains(x.AudioPlatformId.ToString())) .GroupBy(x => x.OldPath.ToLower()) .Where(x => x.Count() > 1) .ToArray(); var fullDict = File.ReadLines(@"F:\WorkFolder\Summary\20210222\Important\FullMapping.txt") .Select(x => new FullMappingLine(x)) .Where(x => !dupeUploadAudioIdSet.Contains(x.AudioPlatformId.ToString())) .ToDictionary(x => x.OldPath.ToLower(), x => x); List <string> list = new List <string>(); foreach (string s in Directory.EnumerateFiles(@"F:\WorkFolder\Input\300hrsRecordingContent", "*.wav", SearchOption.AllDirectories)) { string key = s.ToLower(); var line1 = overallList.ContainsKey(key) ? overallList[key] : null; var line2 = fullDict.ContainsKey(key) ? fullDict[key] : null; TotalMappingLine line = new TotalMappingLine { TaskName = line1 != null ? line1.TaskName : "", TaskId = line1 != null ?(line1.TaskId == ""?int.MinValue: int.Parse(line1.TaskId)) : int.MinValue, AudioName = line1 != null ? line1.AudioName : "", AudioId = line1 != null ?(line1.AudioId == ""?int.MinValue: int.Parse(line1.AudioId)): int.MinValue, Dialect = line1 != null ? line1.Dialect : "", SpeakerId = line1 != null ? line1.Speaker : "", UniversalSpeakerId = line2 != null?line2.UniversalSpeakerId.ToString("00000") : int.MinValue.ToString(), UniversalFileId = line2 != null ? line2.UniversalAudioId : int.MinValue, InputTextPath = "", InputAudioPath = "", LocalAudioPath = key, Online = line1 != null ? line1.TaskId.Length >= 3 : false, Valid = true, }; list.Add(line.Output()); } list.WriteAllLinesToTmp(); }
public void Copy() { foreach (string s in File.ReadLines(Constants.TOTAL_MAPPING_PATH)) { var line = new TotalMappingLine(s); if (!line.Valid) { continue; } if (!File.Exists(line.DeliveredAudioPath)) { if (!Directory.Exists(line.DeliveredAudioFolder)) { Directory.CreateDirectory(line.DeliveredAudioFolder); } File.Copy(line.LocalAudioPath, line.DeliveredAudioPath); } } }