コード例 #1
0
ファイル: Program.cs プロジェクト: xoofx/kalk
        static void Main(string[] args)
        {
            var app = new KalkEngine
            {
                GetClipboardText = TextCopy.ClipboardService.GetText,
                SetClipboardText = TextCopy.ClipboardService.SetText,
            };

            if (!app.Run(args))
            {
                Environment.ExitCode = 1;
            }
        }
コード例 #2
0
        static void Main(string[] args)
        {
            var app = new KalkEngine
            {
                GetClipboardText = TextCopy.ClipboardService.GetText,
                SetClipboardText = TextCopy.ClipboardService.SetText,
            };

#if KALK_WINDOWS_STOREAPP
            SetupWindowsStoreApp(app);
#endif

            if (!app.Run(args))
            {
                Environment.ExitCode = 1;
            }
        }
コード例 #3
0
        private static ScriptObject DownloadExchangeRates(KalkEngine engine)
        {
            ScriptObject rates;

            try
            {
                using (var client = new HttpClient())
                {
                    engine.WriteHighlightLine($"# Downloading rates from {ExchangeRatesApi}");

                    var task   = Task.Run(async() => await client.GetStringAsync(ExchangeRatesApi));
                    var result = task.Result;
                    rates = ParseRates(result);
                    var values = (ScriptObject)rates["rates"];
                    if (values == null)
                    {
                        throw new InvalidOperationException("Unable to find `rates` from returned JSON.");
                    }
                    engine.WriteHighlightLine($"# {values.Count} rates successfully updated.");

                    // If the engine is in testing, return only the latest known rates
                    if (!engine.IsTesting)
                    {
                        return(rates);
                    }
                }
            }
            catch (Exception ex)
            {
                engine.WriteErrorLine($"Unable to download rates. Reason: {ex.Message}");
                // ignore
            }

            rates = ParseRates(LatestKnownRates);
            return(rates);
        }