private void CreateMetaData(string folderPath, string pattern, string outputPath) { List <string> list = new List <string>(); foreach (string localePath in Directory.EnumerateDirectories(folderPath)) { string locale = localePath.Split('\\').Last(); foreach (string speakerIdPath in Directory.EnumerateDirectories(localePath)) { string speaker = speakerIdPath.Split('\\').Last(); string recordedBy = speaker[0] == '0' ? "Team1" : "Team2"; foreach (string filePath in Directory.EnumerateFiles(speakerIdPath, pattern)) { string fileName = filePath.Split('\\').Last(); MetaDataLine line = new MetaDataLine { SpeakerId = speaker, Locale = locale, FileId = fileName.Split('.')[0], AnnotatedBy = "Team2", RelativePath = $"{locale}/{speaker}/{fileName}", RecordedBy = recordedBy }; list.Add(line.Output()); } } } File.WriteAllLines(outputPath, list); }
private string GetMetaDataKey(MetaDataLine line) { return($"{line.Locale}\t{line.SpeakerId}\t{line.FileId}"); }