private bool GetInfoFromJson() { Log.Logger.Information("Reading media info from sidecar : {FileName}", SidecarFileInfo.Name); // Decompress the tool data FfProbeInfoJson = StringCompression.Decompress(SidecarJson.FfProbeInfoData); MkvMergeInfoJson = StringCompression.Decompress(SidecarJson.MkvMergeInfoData); MediaInfoXml = StringCompression.Decompress(SidecarJson.MediaInfoData); // Deserialize the tool data if (!MediaInfoTool.GetMediaInfoFromXml(MediaInfoXml, out MediaInfo mediaInfoInfo) || !MkvMergeTool.GetMkvInfoFromJson(MkvMergeInfoJson, out MediaInfo mkvMergeInfo) || !FfProbeTool.GetFfProbeInfoFromJson(FfProbeInfoJson, out MediaInfo ffProbeInfo)) { Log.Logger.Error("Failed to de-serialize tool data : {FileName}", SidecarFileInfo.Name); return(false); } // Assign mediainfo data FfProbeInfo = ffProbeInfo; MkvMergeInfo = mkvMergeInfo; MediaInfoInfo = mediaInfoInfo; // Assign state State = SidecarJson.State; return(true); }
public static void Deserialize <T>(string identifier, string fileContent, bool saveFileIsEncrypted, ref T instance) { var serializer = new fsSerializer(); GetJsonConverters(ref serializer); string serializedData = fileContent.Substring("<" + identifier + ">", "</" + identifier + ">"); if (saveFileIsEncrypted) { serializedData = StringCipher.Decrypt(serializedData, encryptionPassword); // 0.2 Decrypt json string } if (saveFileIsEncrypted) { serializedData = StringCompression.Decompress(serializedData); // 0.3 Decompress json string } fsData parsedData = fsJsonParser.Parse(serializedData); // 0.4 Create data from json string serializer.TryDeserialize(parsedData, ref instance); // 0.5 Deserialize json }
public void CanDecompress(string expected, string input) { var actual = StringCompression.Decompress(input); Assert.Equal(expected, actual); }