예제 #1
0
        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 }));
        }
예제 #2
0
        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);
            }
        }