Example #1
0
    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);
    }
Example #2
0
        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
        }
Example #3
0
        public void CanDecompress(string expected, string input)
        {
            var actual = StringCompression.Decompress(input);

            Assert.Equal(expected, actual);
        }