123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- using System;
- using System.IO;
- namespace Rac
- {
- internal class Program
- {
- //TODO: Folder browser
- private static void Main(string[] args)
- {
- var db = "project.db3";
- void PrintUsage()
- {
- Console.WriteLine("args: [mode] [args]");
- Console.WriteLine(" crawler [project.db3] * default mode");
- Console.WriteLine(" offline [project.db3]");
- Console.WriteLine(" browser [project.db3] * not impl yet");
- Console.WriteLine(" extract [project.db3]");
- }
- if (args.Length == 0)
- {
- RunCrawler(db);
- }
- else
- {
- if (args.Length > 1) db = args[1];
- switch (args[0].ToLower())
- {
- default:
- PrintUsage();
- break;
- case "crawler":
- RunCrawler(db);
- break;
- case "offline":
- RunOffline(db);
- break;
- case "browser":
- RunBrowser(db);
- break;
- case "extract":
- RunExtract(db);
- break;
- }
- }
- Console.Write("Finished, Press ENTER to exit...");
- Console.ReadLine();
- }
- private static void RunExtract(string db)
- {
- var inst = new Extractor(db);
- inst.Log += (sender, ea) => Console.WriteLine($"Extract -- {ea.Level} -- {ea.Log}");
- inst.RunExtract();
- }
- private static void RunCrawler(string db)
- {
- var inst = new Crawler(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, db));
- inst.Log += (sender, ea) => Console.WriteLine($"RAC -- {ea.Level} -- {ea.Log}");
- Console.WriteLine("Press ENTER to stop.");
- inst.Start();
- Console.ReadLine();
- if (inst.IsRunning)
- {
- Console.WriteLine("Stopping...");
- inst.Stop();
- Console.WriteLine();
- }
- }
- private static void RunOffline(string db)
- {
- var inst = new OfflineWebServer(db);
- inst.Log += (sender, ea) => Console.WriteLine($"OWS -- {ea.Level} -- {ea.Log}");
- Console.WriteLine("Press ENTER to stop.");
- inst.Start();
- Console.ReadLine();
- inst.Stop();
- }
- private static void RunBrowser(string db)
- {
- var inst = new FileBrowseServer(db);
- inst.Log += (sender, ea) => Console.WriteLine($"OWS -- {ea.Level} -- {ea.Log}");
- Console.WriteLine("Press ENTER to stop.");
- inst.Start();
- Console.ReadLine();
- inst.Stop();
- }
- }
- }
|