static void Main(string[] args) { var app = new KalkEngine { GetClipboardText = TextCopy.ClipboardService.GetText, SetClipboardText = TextCopy.ClipboardService.SetText, }; if (!app.Run(args)) { Environment.ExitCode = 1; } }
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; } }
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); }