protected override void On活性化() { using (Log.Block(FDKUtilities.現在のメソッド名)) { var 設定ファイルパス = new VariablePath(@"$(System)images\演奏\ドラムキットとヒットバー.yaml"); var yaml = File.ReadAllText(設定ファイルパス.数なしパス); var deserializer = new YamlDotNet.Serialization.Deserializer(); var yamlMap = deserializer.Deserialize <YAMLマップ>(yaml); this._パーツ画像の矩形リスト = new Dictionary <パーツ, RectangleF>(); foreach (var kvp in yamlMap.矩形リスト) { if (4 == kvp.Value.Length) { this._パーツ画像の矩形リスト[kvp.Key] = new RectangleF(kvp.Value[0], kvp.Value[1], kvp.Value[2], kvp.Value[3]); } } this._パーツ画像の中心位置 = new Dictionary <パーツ, (float X, float Y)>(); foreach (var kvp in yamlMap.中心位置) { if (2 == kvp.Value.Length) { this._パーツ画像の中心位置[kvp.Key] = (kvp.Value[0], kvp.Value[1]); } } this._振動パラメータ = new Dictionary <表示レーン種別, 振動パラメータ>(); foreach (表示レーン種別 lane in Enum.GetValues(typeof(表示レーン種別))) { this._振動パラメータ[lane] = new 振動パラメータ(); } } }
public void Initialize(int scriptId, IPlatformDatabase database) { try { var script = database.Scripts.First(x => x.Id == scriptId); if (!string.IsNullOrEmpty(script?.Name)) { var deserializer = new YamlDotNet.Serialization.Deserializer(); using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(script.Instruction))) using (var reader = new StreamReader(stream)) { var behavior = deserializer.Deserialize <Behavior>(reader.ReadToEnd()); if (BehaviorValidator.IsValid(behavior)) { _behavior = behavior; } } } } catch (Exception ex) { _logger.LogCritical(ex, $"Cannot build behavior. ScriptId: {scriptId}."); throw; } }
private void ImportYaml(ImportFile file) { if (file.Imported) { return; } var deserializer = new YamlDotNet.Serialization.Deserializer(); using (var reader = new StreamReader(file.Filename)) { var yaml = deserializer.Deserialize(reader) as Dictionary <object, object>; if (yaml.Keys.Count != 1) { throw new ImportException($"{file.Filename}: invalid yaml format"); } var typeName = yaml.Keys.First() as string; if (typeName == null) { throw new ImportException($"{file.Filename}: invalid yaml format"); } if (!_importersByType.TryGetValue(typeName, out var importer)) { throw new ImportException($"{file.Filename}: not importer defined for type {typeName}"); } file.Importer = importer; } }
public DockerComposeFileConfig ParseDockerComposeString(string dockerComposeString) { var deserializer = new YamlDotNet.Serialization.Deserializer(); var dict = deserializer.Deserialize <Dictionary <object, object> >(dockerComposeString); var dockerCompose = new DockerComposeFileConfig { Version = (string)dict["version"] }; foreach (var(key, value) in (Dictionary <object, object>)dict["services"]) { var composeServiceDefinition = new ComposeServiceDefinition { Name = (string)key }; var s = (Dictionary <object, object>)value; ResolveIsolation(s, composeServiceDefinition); ResolveImage(s, composeServiceDefinition); ResolvePorts(s, composeServiceDefinition); ResolveHealthCheck(s, composeServiceDefinition); ResolveVolumes(s, composeServiceDefinition); ResolveDependsOn(s, composeServiceDefinition); ResolveLabels(s, composeServiceDefinition); dockerCompose.ServiceDefinitions.Add(composeServiceDefinition); } return(dockerCompose); }
public async void ShouldCreateSubsequentlAPITemplateResourceFromCreatorConfigWithAlternateTitle() { // arrange APITemplateCreator apiTemplateCreator = APITemplateCreatorFactory.GenerateAPITemplateCreator(); CreatorConfig creatorConfig = new CreatorConfig() { apis = new List <APIConfig>() }; APIConfig api = new APIConfig() { name = "name", displayName = "Swagger Petstore (alternate title)", openApiSpec = "https://petstore.swagger.io/v2/swagger.json", }; creatorConfig.apis.Add(api); // act APITemplateResource apiTemplateResource = await apiTemplateCreator.CreateAPITemplateResourceAsync(api, true, true); // assert Assert.Equal($"[concat(parameters('{ParameterNames.ApimServiceName}'), '/{api.name}')]", apiTemplateResource.Name); Assert.Equal("swagger-json", apiTemplateResource.Properties.Format); // check alternate title has been specified in the embedded YAML or JSON definition var yaml = apiTemplateResource.Properties.Value; var deserializer = new YamlDotNet.Serialization.Deserializer(); var definition = deserializer.Deserialize <Dictionary <string, object> >(yaml); var info = (Dictionary <object, object>)definition["info"]; Assert.Equal("Swagger Petstore (alternate title)", info["title"]); }
public void Deserialization() { var dese = new YamlDotNet.Serialization.Deserializer(); var obj = dese.Deserialize <ProgramDefinition>(program); Assert.NotNull(obj); }
protected override void On活性化() { using (Log.Block(FDKUtilities.現在のメソッド名)) { var 設定ファイルパス = new VariablePath(@"$(System)images\演奏\レーンフラッシュBASIC.yaml"); var yaml = File.ReadAllText(設定ファイルパス.数なしパス); var deserializer = new YamlDotNet.Serialization.Deserializer(); var yamlMap = deserializer.Deserialize <YAMLマップ>(yaml); this._レーンフラッシュの矩形リスト = new Dictionary <string, RectangleF>(); foreach (var kvp in yamlMap.矩形リスト) { if (4 == kvp.Value.Length) { this._レーンフラッシュの矩形リスト[kvp.Key] = new RectangleF(kvp.Value[0], kvp.Value[1], kvp.Value[2], kvp.Value[3]); } } this._レーンtoレーンContext = new Dictionary <表示レーン種別, レーンContext>(); foreach (表示レーン種別 lane in Enum.GetValues(typeof(表示レーン種別))) { this._レーンtoレーンContext.Add(lane, new レーンContext() { 開始位置dpx = new Vector2( x: レーンフレーム.領域.X + レーンフレーム.現在のレーン配置.表示レーンの左端位置dpx[lane], y: レーンフレーム.領域.Bottom), 転送元矩形 = this._レーンフラッシュの矩形リスト[lane.ToString()], アニメカウンタ = new Counter(), }); } } }
// 生成と終了 /// <summary> /// コンストラクタ。 /// 指定された画像ファイルと矩形リストファイルを使って、テクスチャフォントを生成する。 /// </summary> public テクスチャフォント(VariablePath 文字盤の画像ファイルパス, VariablePath 文字盤設定ファイルパス) { this._文字盤 = new テクスチャ(文字盤の画像ファイルパス); // 設定ファイルを読み込んで、矩形リストを生成する。 { // yaml ファイルを読み込む。 var yaml = File.ReadAllText(文字盤設定ファイルパス.数なしパス); var deserializer = new YamlDotNet.Serialization.Deserializer(); var yamlMap = deserializer.Deserialize <YAMLマップ>(yaml); // 内容から矩形リストを作成。 this._文字盤の矩形リスト = new Dictionary <string, RectangleF>(); foreach (var kvp in yamlMap.矩形リスト) { if (4 == kvp.Value.Length) { this._文字盤の矩形リスト[kvp.Key] = new RectangleF(kvp.Value[0], kvp.Value[1], kvp.Value[2], kvp.Value[3]); } else { Log.ERROR($"矩形リストの書式が不正です。[{文字盤設定ファイルパス.変数付きパス}]"); } } } }
public static List <Materials> ReadMaterialsFile() { string strBasePath = Application.StartupPath; var deserializer = new YamlDotNet.Serialization.Deserializer(); List <Materials> lstMaterials = new List <Materials>(); using (var sr = new StreamReader(strBasePath + @"\SDE\FSD\typeMaterials.yaml", Encoding.UTF8)) { //YamlStream ys = new YamlStream(); //ys.Load(sr); Dictionary <string, Materials> target = deserializer.Deserialize <Dictionary <string, Materials> >(sr); foreach (string item in target.Keys) { Materials matItem = target[item]; matItem.TypeID = item; lstMaterials.Add(matItem); } //foreach(object item in target) //strContents = sr.ReadToEnd(); } //Environment. return(lstMaterials); }
public IEnumerable <WhiteBoxTest> ParseWhiteBoxTests(TextReader reader) { var deserializer = new YamlDotNet.Serialization.Deserializer(); var result = deserializer.Deserialize(reader); foreach (var kv in (Dictionary <object, dynamic>)result) { string id = (string)kv.Key; var stepsObj = (List <object>)kv.Value; var steps = new List <WhiteBoxStep>(); var latin = (string)stepsObj[0]; foreach (var stepObj in stepsObj.Skip(1)) { var parts = ((string)stepObj).Split(new string[] { "=>" }, StringSplitOptions.None); string phono = parts[0].Trim(); var graphicalForms = parts[1].Split(',').Select(g => g.Trim()).ToArray(); steps.Add(new WhiteBoxStep(phono, graphicalForms)); } yield return(new WhiteBoxTest(latin, steps.ToArray())); } }
static void Main(string[] args) { var configinput = File.ReadAllText("configuration.yaml"); var deserializer = new YamlDotNet.Serialization.Deserializer(); configuration = deserializer.Deserialize <Configuration.BaseConfiguration>(configinput); Console.WriteLine(configuration.startup_message); Console.WriteLine(configuration.hass.uniqueid_base_prefix); Console.WriteLine(configuration.mqtt.broker); SendComponentConfiguration(configuration.mqtt); SendTestMessage(configuration.mqtt); _timer = new System.Timers.Timer(30 * 1000); _timer.Elapsed += _timer_Elapsed; _timer.Start(); //SendComponentDelete(configuration.mqtt); Console.WriteLine("PRESS [ANY KEY] TO QUIT"); Console.ReadKey(); Console.WriteLine("--done--"); }
// 生成と終了 public コンボ表示() { using (Log.Block(FDKUtilities.現在のメソッド名)) { this._コンボ文字画像 = new 画像(@"$(System)images\演奏\コンボ文字.png"); this._前回表示した値 = 0; this._前回表示した数字 = " "; var 設定ファイルパス = new VariablePath(@"$(System)images\演奏\コンボ文字.yaml"); var yaml = File.ReadAllText(設定ファイルパス.数なしパス); var deserializer = new YamlDotNet.Serialization.Deserializer(); var yamlMap = deserializer.Deserialize <YAMLマップ>(yaml); this._コンボ文字の矩形リスト = new Dictionary <string, RectangleF>(); foreach (var kvp in yamlMap.矩形リスト) { if (4 == kvp.Value.Length) { this._コンボ文字の矩形リスト[kvp.Key] = new RectangleF(kvp.Value[0], kvp.Value[1], kvp.Value[2], kvp.Value[3]); } } this._各桁のアニメ = new 各桁のアニメ[4]; for (int i = 0; i < this._各桁のアニメ.Length; i++) { this._各桁のアニメ[i] = new 各桁のアニメ(); } this._百ごとのアニメ = new 百ごとのアニメ(); } }
// 生成と終了 public static v002_システム設定 読み込む(VariablePath path) { using var _ = new LogBlock(Log.現在のメソッド名); // (1) 読み込み or 新規作成 var yaml = File.ReadAllText(path.数なしパス); var deserializer = new YamlDotNet.Serialization.Deserializer(); var config = deserializer.Deserialize <v002_システム設定>(yaml); if (2 != config.Version) { throw new Exception("バージョンが違います。"); } // (2) 読み込み後の処理 // パスの指定がなければ、とりあえず exe のあるフォルダを検索対象にする。 if (0 == config.曲検索フォルダ.Count) { config.曲検索フォルダ.Add(@"$(Exe)"); } return(config); }
/// <summary> /// Try to parse YAML frontmatter. /// </summary> /// /// <param name="document"> /// The document containing frontmatter. /// </param> /// <param name="frontmatter"> /// The parsed frontmatter. /// </param> /// <param name="remainder"> /// The document minus the frontmatter text. /// </param> /// /// <returns> /// `true` if frontmatter text was found and parsed; `false` otherwise. /// </returns> static bool TryGetYamlFrontmatter(string document, out Dictionary <string, object> frontmatter, out string remainder) { var split = document.Split(new [] { "---" }, StringSplitOptions.None); frontmatter = null; remainder = null; if (split.Length >= 3 && split[0].Length == 0) { try { var yamlFrontmatter = new YamlDotNet.Serialization.Deserializer().Deserialize <Dictionary <string, object> >(new StringReader("---\r\n" + split[1].Trim() + "\r\n...")); var arrayRemainder = string.Join("---", split.Skip(2)); frontmatter = yamlFrontmatter; remainder = arrayRemainder; return(true); } catch (Exception) { return(false); } } else { return(false); } }
// convert string/file to YAML object public static void Test() { using (System.IO.FileStream fs = System.IO.File.OpenRead(@"d:\username\Documents\Visual Studio 2017\Projects\BlueMine\BlueMine\Code\en.yml")) { //using (System.IO.TextReader r = new System.IO.StringReader(@"")) using (System.IO.TextReader r = new System.IO.StreamReader(fs, System.Text.Encoding.UTF8)) { YamlDotNet.Serialization.Deserializer deserializer = new YamlDotNet.Serialization.Deserializer(); object yamlObject = deserializer.Deserialize(r); Newtonsoft.Json.JsonSerializer serializer = new Newtonsoft.Json.JsonSerializer(); serializer.Formatting = Newtonsoft.Json.Formatting.Indented; // serializer.Serialize(Console.Out, yamlObject); using (System.IO.Stream ws = System.IO.File.OpenWrite(@"d:\username\Documents\Visual Studio 2017\Projects\BlueMine\BlueMine\Code\en.json")) { using (System.IO.TextWriter sw = new System.IO.StreamWriter(ws, System.Text.Encoding.UTF8)) { serializer.Serialize(sw, yamlObject); } // End using sw } // End Using ws } // End Using r } // End Using fr } // End Sub Test
public bool Run() { Console.WriteLine("======================= ScratchPad =======================\n"); using (var file = new StreamReader(filename)) { ScratchControl scratch = null; if (filename.ToUpper().Contains(".YML")) { Console.WriteLine("Reading Scratch config in YAML from " + filename); var inputStream = new StringReader(file.ReadToEnd()); var ymlDeserializer = new YamlDotNet.Serialization.Deserializer(); try { scratch = ymlDeserializer.Deserialize <ScratchControl>(inputStream); } catch (Exception ex) { Console.WriteLine("Caught exception " + ex); return(true); } } if (filename.ToUpper().Contains(".JSON")) { Console.WriteLine("Reading Scratch config in JSON from " + filename); scratch = JsonConvert.DeserializeObject <ScratchControl>(file.ReadToEnd()); } ScratchLogic.SuperDebug(scratch); ScratchLogic.Titler(); } return(false); }
// 生成と終了 public 画像フォント(VariablePath 文字盤の画像ファイルパス, VariablePath 文字盤設定ファイルパス, float 文字幅補正dpx = 0f, float 透明度 = 1f) { this.文字幅補正dpx = 文字幅補正dpx; this.透明度 = 透明度; // 文字盤を生成する。 this._文字盤 = new 画像(文字盤の画像ファイルパス); // 設定ファイルを読み込んで、矩形リストを生成する。 { // yaml ファイルを読み込む。 var yaml = File.ReadAllText(文字盤設定ファイルパス.数なしパス); var deserializer = new YamlDotNet.Serialization.Deserializer(); var yamlMap = deserializer.Deserialize <YAMLマップ>(yaml); // 内容から矩形リストを作成。 this._矩形リスト = new Dictionary <string, RectangleF>(); foreach (var kvp in yamlMap.矩形リスト) { if (4 == kvp.Value.Length) { this._矩形リスト[kvp.Key] = new RectangleF(kvp.Value[0], kvp.Value[1], kvp.Value[2], kvp.Value[3]); } } } }
private static T GetConfiguration <T>() { var content = File.ReadAllText("appsettings.yml"); var deserializer = new YamlDotNet.Serialization.Deserializer(); return(deserializer.Deserialize <T>(content)); }
protected override void On活性化() { using (Log.Block(FDKUtilities.現在のメソッド名)) { var 設定ファイルパス = new VariablePath(@"$(System)images\演奏\チップ光.yaml"); var yaml = File.ReadAllText(設定ファイルパス.数なしパス); var deserializer = new YamlDotNet.Serialization.Deserializer(); var yamlMap = deserializer.Deserialize <YAMLマップ>(yaml); this._放射光の矩形リスト = new Dictionary <表示レーン種別, RectangleF>(); foreach (var kvp in yamlMap.矩形リスト) { if (4 == kvp.Value.Length) { this._放射光の矩形リスト[kvp.Key] = new RectangleF(kvp.Value[0], kvp.Value[1], kvp.Value[2], kvp.Value[3]); } } this._レーンtoステータス = new Dictionary <表示レーン種別, 表示レーンステータス>() { { 表示レーン種別.Unknown, new 表示レーンステータス(表示レーン種別.Unknown) }, { 表示レーン種別.LeftCymbal, new 表示レーンステータス(表示レーン種別.LeftCymbal) }, { 表示レーン種別.HiHat, new 表示レーンステータス(表示レーン種別.HiHat) }, { 表示レーン種別.Foot, new 表示レーンステータス(表示レーン種別.Foot) }, { 表示レーン種別.Snare, new 表示レーンステータス(表示レーン種別.Snare) }, { 表示レーン種別.Bass, new 表示レーンステータス(表示レーン種別.Bass) }, { 表示レーン種別.Tom1, new 表示レーンステータス(表示レーン種別.Tom1) }, { 表示レーン種別.Tom2, new 表示レーンステータス(表示レーン種別.Tom2) }, { 表示レーン種別.Tom3, new 表示レーンステータス(表示レーン種別.Tom3) }, { 表示レーン種別.RightCymbal, new 表示レーンステータス(表示レーン種別.RightCymbal) }, }; } }
public MetaArk() { instance = this; rnd = new Random(); try { var input = new StreamReader("MetaArk.yaml"); var yaml = new YamlDotNet.Serialization.Deserializer(); mConfig = yaml.Deserialize<Config>(input); mClient = new MongoDB.Driver.MongoClient(mConfig.connectionString); Console.WriteLine("MetaArk configuration loaded."); } catch (Exception e) { Console.WriteLine("Configuration failed. MetaArk Aborting\n{0}", e.ToString()); return; // Hooks perform default action } OnStructureDamageEvent += delegate (object sender, float damage) { var Database = mClient.GetDatabase("MetaArk"); var collection = Database.GetCollection<MongoDB.Bson.BsonDocument>("config"); var filter = Builders<BsonDocument>.Filter.Eq("key", "StructureDamage"); var document = collection.Find(filter).FirstAsync().Result; bool doDamage = document.GetElement("value").Value.AsBoolean; if (doDamage) return (float) rnd.NextDouble()*100; else return 0; }; }
protected override void On活性化() { using (Log.Block(FDKUtilities.現在のメソッド名)) { { var 設定ファイルパス = new VariablePath(@"$(System)images\演奏\ドラムチップ.yaml"); var yaml = File.ReadAllText(設定ファイルパス.数なしパス); var deserializer = new YamlDotNet.Serialization.Deserializer(); var yamlMap = deserializer.Deserialize <YAMLマップ_ドラムチップ>(yaml); this._ドラムチップの縦方向中央位置 = yamlMap.縦方向中央位置; this._ドラムチップの矩形リスト = new Dictionary <string, RectangleF>(); foreach (var kvp in yamlMap.矩形リスト) { if (4 == kvp.Value.Length) { this._ドラムチップの矩形リスト[kvp.Key] = new RectangleF(kvp.Value[0], kvp.Value[1], kvp.Value[2], kvp.Value[3]); } } } this._小節線色 = new SolidColorBrush(グラフィックデバイス.Instance.D2DDeviceContext, Color.White); this._拍線色 = new SolidColorBrush(グラフィックデバイス.Instance.D2DDeviceContext, Color.LightGray); this._ドラムチップアニメ = new LoopCounter(0, 200, 3); this._プレイヤー名表示.前 = App.ユーザ管理.ログオン中のユーザ.ユーザ名; レーンフレーム.レーン配置を設定する(App.ユーザ管理.ログオン中のユーザ.レーン配置); //this._フェードインカウンタ = new Counter( 0, 100, 10 ); //this._演奏状態を初期化する(); this._ビュアーモード時にドラムサウンドを発声する = true; this.現在のフェーズ = フェーズ.クリア; } }
public static T LoadYaml <T>(string path) { var text = File.ReadAllText(path); var yaml = new YamlDotNet.Serialization.Deserializer(); var o = yaml.Deserialize <T>(text); return(o); }
public T Deserialize <T>(string content) where T : class, new() { using (var stringReader = new StringReader(content)) { var serializer = new YamlDotNet.Serialization.Deserializer(); return(serializer.Deserialize <T>(stringReader)); } }
static Model ReadModel(string[] args) { var deserializer = new YamlDotNet.Serialization.Deserializer(); var text = File.ReadAllText(ModelFileName(args)); var rv = deserializer.Deserialize <Model>(text); return(rv); }
/// <summary> /// Deserialize /// </summary> /// <typeparam name="TypeEntity"></typeparam> /// <param name="stream"></param> /// <returns></returns> public TypeEntity Deserialize <TypeEntity>(Stream stream) { if (_deserializer == null) { _deserializer = new YamlDotNet.Serialization.Deserializer(); } return(_deserializer.Deserialize <TypeEntity>(new StreamReader(stream))); }
public IValue ReadYamlString(string yaml) { var deserializer = new YamlDotNet.Serialization.Deserializer(); var reader = new StringReader(yaml); var result = deserializer.Deserialize(reader); return(BuildResults(result)); }
static Config ReadConfig(string[] args) { var deserializer = new YamlDotNet.Serialization.Deserializer(); var text = File.ReadAllText(ConfigFileName(args)); var rv = deserializer.Deserialize <Config>(text); return(rv); }
/// <summary> /// Deserialize /// </summary> /// <param name="content"></param> /// <param name="type"></param> /// <returns></returns> public object Deserialize(string content, Type type) { if (_deserializer == null) { _deserializer = new YamlDotNet.Serialization.Deserializer(); } return(_deserializer.Deserialize(content, type)); }
/// <summary> /// Deserialize /// </summary> /// <typeparam name="TypeEntity"></typeparam> /// <param name="content"></param> /// <returns></returns> public TypeEntity Deserialize <TypeEntity>(string content) { if (_deserializer == null) { _deserializer = new YamlDotNet.Serialization.Deserializer(); } return(_deserializer.Deserialize <TypeEntity>(content)); }
public static Tuple <DeviceInfo, LocalIdentifierLocks> ParseDeviceInfoYamlWithIdentifierLocks(string data, string device_name_override = null) { using (var f = new StringReader(data)) { var deserializer = new YamlDotNet.Serialization.Deserializer(); var yaml_device_info = deserializer.Deserialize <YamlDeviceInfo>(f); return(LoadDeviceInfoYamlWithIdentifierLocks(yaml_device_info, device_name_override)); } }
public static Tuple <RobotInfo, LocalIdentifierLocks> ParseRobotInfoYamlWithIdentifierLocks(string data) { using (var f = new StringReader(data)) { var deserializer = new YamlDotNet.Serialization.Deserializer(); var yaml_robot_info = deserializer.Deserialize <YamlRobotInfo>(f); return(LoadRobotInfoYamlWithIdentifierLocks(yaml_robot_info)); } }
public static ThemeSetting Load(string input) { ThemeSetting result = null; using (var reader = new System.IO.StringReader(input)) { var deserializer = new YamlDotNet.Serialization.Deserializer(ignoreUnmatched: true); try { result = deserializer.Deserialize<ThemeSetting>(reader); } catch (Exception err) { System.Windows.MessageBox.Show( err.ToString(), "Error", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error); } } return result; }
public static MsDev2013SettingsCollection LoadSettingsCollection(System.IO.FileInfo Info) { var data = System.IO.File.ReadAllText(Info.FullName); MsDev2013SettingsCollection settings = null; using (var reader = new System.IO.StringReader(data)) { var deserializer = new YamlDotNet.Serialization.Deserializer(ignoreUnmatched:false); try { settings = deserializer.Deserialize<MsDev2013SettingsCollection>(reader); } catch (Exception err) { System.Windows.MessageBox.Show( err.ToString(), "Error", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error); } } return settings; }