Пример #1
0
        private void HandleSuccess(IRestResponse response)
        {
            var updateResponse = SmartJsonConvert.DeserializeObject <UpdateResponse>(response.Content);

            LatestUpdate = Update.FromResponse(updateResponse, IsPortable);

            if (IsUpdateAvailable)
            {
                if (UpdateFound != null)
                {
                    UpdateFound(this);
                }
            }
            else
            {
                if (UpdateNotFound != null)
                {
                    UpdateNotFound(this);
                }
            }

            if (Checked != null)
            {
                Checked(this);
            }
        }
Пример #2
0
        public static void SavePreferences(PluginAssemblyInfo assemblyInfo, Object prefs)
        {
            var json      = SmartJsonConvert.SerializeObject(prefs, Formatting.Indented);
            var directory = Path.GetDirectoryName(assemblyInfo.ConfigFilePath);

            if (directory != null)
            {
                Directory.CreateDirectory(directory);
            }
            File.WriteAllText(assemblyInfo.ConfigFilePath, json);
        }
Пример #3
0
        private static void PrintJson(List <CryptoHashInput> inputs)
        {
            Object obj = inputs;

            if (_map)
            {
                var map = new Dictionary <string, CryptoHashInput>();
                map.AddRange(inputs.Select(input => new KeyValuePair <string, CryptoHashInput>(input.Name, input)));
                obj = map;
            }
            Console.WriteLine(SmartJsonConvert.SerializeObject(obj, Formatting.Indented));
        }
Пример #4
0
        public void UpdatePreferences(UserPreferenceMutator mutator)
        {
            var prefs = Preferences;

            mutator(prefs);

            if (!prefs.RecentFiles.RememberRecentFiles)
            {
                prefs.RecentFiles.RecentBDROMPaths.Clear();
            }

            var json = SmartJsonConvert.SerializeObject(prefs, Formatting.Indented);

            File.WriteAllText(PreferenceFilePath, json);
        }
Пример #5
0
        private void HandleTmdbError(Exception ex)
        {
            var tmdbResponse = _tmdbApi.ResponseContent;

            try
            {
                var pluginSettings = SmartJsonConvert.DeserializeObject <TmdbApiErrors>(tmdbResponse);
                Logger.ErrorFormat("api.themoviedb.org returned status code {0}: \"{1}\"",
                                   pluginSettings.StatusCode,
                                   pluginSettings.StatusMessage);
            }
            catch
            {
            }
        }
Пример #6
0
 public static T GetPreferences <T>(PluginAssemblyInfo assemblyInfo, TypeFactory <T> defaultFactory)
 {
     if (File.Exists(assemblyInfo.ConfigFilePath))
     {
         try
         {
             var json = File.ReadAllText(assemblyInfo.ConfigFilePath);
             return(SmartJsonConvert.DeserializeObject <T>(json));
         }
         catch (Exception e)
         {
             Logger.WarnFormat("Unable to deserialize settings file: {0}", e);
         }
     }
     return(defaultFactory());
 }
Пример #7
0
        private TResponse Request <TResponse>(IGitHubRequest <TResponse> request)
            where TResponse : new()
        {
            var headers = new List <string>
            {
                string.Format("Authorization: token {0}", _oauthToken)
            };

            var httpRequest = HttpRequest.BuildRequest(request.Method, request.Url, false, headers);

            // Expected response format
            httpRequest.Accept = "application/vnd.github.v3+json";

            if (request.Method == HttpRequestMethod.Put || request.Method == HttpRequestMethod.Post)
            {
                // Request body format
                httpRequest.ContentType = "application/json";

                using (var requestStream = httpRequest.GetRequestStream())
                    using (var streamWriter = new StreamWriter(requestStream))
                    {
                        var json = SmartJsonConvert.SerializeObject(request);
                        streamWriter.Write(json);
                        streamWriter.Flush();
                        streamWriter.Close();
                    }
            }

            try
            {
                using (var httpResponse = httpRequest.GetResponse())
                {
                    return(GetResponse <TResponse>(httpResponse));
                }
            }
            catch (WebException ex)
            {
                var errorResponse = GetResponse <ErrorResponse>(ex.Response);

                Logger.Error(errorResponse.ToString(), ex);

                throw new RequestException(ex, errorResponse);
            }
        }
Пример #8
0
 /// <exception cref="WebException">
 ///     Thrown if <paramref name="httpResponse"/> is <c>null</c> or <see href="WebResponse.GetResponseStream"/> returns <c>null</c>.
 /// </exception>
 private static TResponse GetResponse <TResponse>(WebResponse httpResponse)
 {
     if (httpResponse == null)
     {
         throw new WebException("No response received");
     }
     using (var responseStream = httpResponse.GetResponseStream())
     {
         if (responseStream == null)
         {
             throw new WebException("Response stream is null");
         }
         using (var streamReader = new StreamReader(responseStream))
         {
             var responseText = streamReader.ReadToEnd();
             var response     = SmartJsonConvert.DeserializeObject <TResponse>(responseText);
             return(response);
         }
     }
 }
Пример #9
0
        public static Works Import()
        {
            var licenseMap = SmartJsonConvert.DeserializeObject <Dictionary <string, License> >(GetResource("licenses_json"));
            var licenses   = new List <License>();

            foreach (var id in licenseMap.Keys)
            {
                var license = licenseMap[id];
                license.Id   = id;
                license.Text = GetResource(id + "_md");
                license.Html = GetResource(id + "_html");
                licenses.Add(license);
            }

            var works = SmartJsonConvert.DeserializeObject <Works>(GetResource("works_json"));

            foreach (var work in works.All.Where(work => work.LicenseId != null))
            {
                work.License = licenseMap[work.LicenseId];
            }

            return(works);
        }
Пример #10
0
        public void TestDeserialize()
        {
            var actualObject = SmartJsonConvert.DeserializeObject <Person>(ExpectedJson);

            Assert.AreEqual(ExpectedObject, actualObject);
        }
Пример #11
0
        public void TestSerialize()
        {
            var actualJson = SmartJsonConvert.SerializeObject(ExpectedObject);

            Assert.AreEqual(ExpectedJson, actualJson);
        }