public IActionResult OnPostAddFeed(string url) { Feed.InsertOrUpdate(getDb(), new Feed() { XmlUrl = url }); var feed = Feed.QueryByXmlUrl(getDb(), url); var feedScanner = new FeedScanner(getDb()); feedScanner.ScanOne(feed); return(new JsonResult(new { id = feed.Id })); }
private static void run(Options opts) { if (!string.IsNullOrWhiteSpace(opts.MergeFile) && !string.IsNullOrWhiteSpace(opts.ImportFile)) { Console.WriteLine($"Cannot merge and import!"); return; } if (opts.Scan) { var scanner = new FeedScanner(new Database(DatabaseContext.Parse(opts.Database))); scanner.Scan(); } else { var file = string.Empty; var merge = false; if (!string.IsNullOrWhiteSpace(opts.ImportFile)) { if (!File.Exists(opts.ImportFile)) { Console.WriteLine($"File not found: {opts.ImportFile}"); return; } file = opts.ImportFile; } else if (!string.IsNullOrWhiteSpace(opts.MergeFile)) { if (!File.Exists(opts.MergeFile)) { Console.WriteLine($"File not found: {opts.MergeFile}"); return; } merge = true; file = opts.MergeFile; } var loader = new OpmlLoader(new Database(DatabaseContext.Parse(opts.Database))); loader.LoadOpmlFile(file, merge); } }