public static YamlData ReadFromMulti(string name, string directory = ".", string extension = ".yml") { var named_directory = Path.Combine(directory, name); return(new YamlData( YamlData.YamlToData( string.Join("\n", Directory.EnumerateFiles(named_directory, $"*{extension}").Select(file => File.ReadAllText(file)).ToArray()) ) )); }
private void WriteToSingle(string name, string directory = ".", string extension = ".yml") { if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } if (extension == null) { extension = ""; } File.WriteAllText(Path.Combine(directory, name + extension), YamlData.DataToYaml(Data, Format, YamlColumnNames)); }
public void WriteToSingle(string name, string directory = ".", string extension = ".yml", IEnumerable <string> yamlColumnNames = null) { if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } if (extension == null) { extension = ""; } File.WriteAllText(Path.Combine(directory, name + extension), YamlData.DataToYaml(data, yamlColumnNames)); }
private void WriteToMulti(string name, string directory = ".", string extension = ".yml") { var named_directory = Path.Combine(directory, name); if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } if (!Directory.Exists(named_directory)) { Directory.CreateDirectory(named_directory); } else if (DeletePrevious) { foreach (var file in Directory.EnumerateFiles(named_directory, $"*{extension}")) { File.Delete(file); } } if (extension == null) { extension = ""; } if (Format == SeedYamlFormat.Hash) { foreach (var part in Data.ToSeparatedDictionaryDictionary(PreCut, PostCut, SubdivideFilename)) { File.WriteAllText(Path.Combine(named_directory, part.Key + extension), YamlData.DataToYaml(part.Value, YamlColumnNames)); } } else { foreach (var part in Data.ToSeparated(PreCut, PostCut, SubdivideFilename)) { File.WriteAllText(Path.Combine(named_directory, part.Key + extension), YamlData.DataToYaml(part.Value, YamlColumnNames)); } } }
public static YamlData ReadFromSingle(string name, string directory = ".", string extension = ".yml", string keyColumnName = "id") { var fstream = new FileStream(Path.Combine(directory, name + extension), FileMode.Open); return(new YamlData(YamlData.YamlToData(new StreamReader(fstream), keyColumnName))); }
static DateTime SeedToExcelCore(IExcelData excelData, string file, ToOptions options, DateTime startTime, DateTime previousTime) { Log(" sheets"); var fileName = Path.GetFileName(file); var sheetsConfig = new SheetsConfig(options.only, options.ignore, null, null, options.mapping, options.alias); var yamlDataCache = new Dictionary <string, YamlData>(); // aliasのため同テーブルはキャッシュする foreach (var sheetName in excelData.SheetNames) { var yamlTableName = sheetsConfig.YamlTableName(fileName, sheetName); if (yamlTableName == sheetName) { Log($" {yamlTableName}"); } else { Log($" {yamlTableName} -> {sheetName}"); } if (!sheetsConfig.IsUseSheet(fileName, sheetName, yamlTableName, OnOperation.To)) { Log(" ignore", "skip"); continue; } var subdivide = sheetsConfig.subdivide(fileName, yamlTableName, OnOperation.To); var seedTable = GetSeedTable(excelData, sheetName, options, subdivide); if (seedTable.Errors.Count != 0) { continue; } YamlData yamlData = null; if (!yamlDataCache.TryGetValue(yamlTableName, out yamlData)) { try { yamlData = YamlData.ReadFrom(yamlTableName, options.seedInput, options.seedExtension, subdivide.KeyColumnName); yamlDataCache[yamlTableName] = yamlData; } catch (FileNotFoundException exception) { Log(" skip", $"seed file [{exception.FileName}] not found"); continue; } } try { seedTable.DataToExcel(yamlData.Data, options.delete); } catch (IdParseException exception) { WriteInfo($" ERROR: {exception.Message}"); throw new CannotContinueException(); } var now = DateTime.Now; DurationLog(" write-time", previousTime, now); previousTime = now; } // 数式を再計算して結果をキャッシュする if (options.calcFormulas && excelData is EPPlus.ExcelData) { ((EPPlus.ExcelData)excelData).Calculate(); } if (options.output.Length == 0) { excelData.Save(); Log(" write-path", "overwrite"); } else { var writePath = Path.Combine(options.output, file); Log(" write-path", writePath); if (!Directory.Exists(options.output)) { Directory.CreateDirectory(options.output); } excelData.SaveAs(writePath); } var end = DateTime.Now; DurationLog(" write-time", previousTime, end); return(end); }
public static YamlData ReadFromSingle(string name, string directory = ".", string extension = ".yml") { return(new YamlData(YamlData.YamlToData(File.ReadAllText(Path.Combine(directory, name + extension))))); }
public void WriteToMulti(string name, string directory = ".", int pre_cut = 0, int post_cut = 0, string extension = ".yml", IEnumerable <string> yamlColumnNames = null, bool deletePrevious = false) { var named_directory = Path.Combine(directory, name); if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } if (!Directory.Exists(named_directory)) { Directory.CreateDirectory(named_directory); } else if (deletePrevious) { foreach (var file in Directory.EnumerateFiles(named_directory, $"*{extension}")) { File.Delete(file); } } if (extension == null) { extension = ""; } foreach (var part in data.ToSeparatedDictionaryDictionary(pre_cut, post_cut)) { File.WriteAllText(Path.Combine(named_directory, part.Key + extension), YamlData.DataToYaml(part.Value, yamlColumnNames)); } }