public void Handle(JObject browserObject, CommandHandlerArgs commandHandlerArgs) { if (!commandHandlerArgs.Commands.Contains(Constants.Command_GetFavorite)) { return; } var browserGatherer = Gatherers.AllFavoriteGatherers.FirstOrDefault(p => commandHandlerArgs.BrowserType == p.BrowserName); if (browserGatherer == null) { Logger.WriteLine($"No gatherer matched the specifed name {commandHandlerArgs.BrowserType}"); return; } ICollection <FavoriteEntry> favorites = null; try { Console.WriteLine($"Gathering favorite-{browserGatherer.BrowserName}"); favorites = browserGatherer.GetBrowserFavorites(); Console.WriteLine($"Gathering favorite-{browserGatherer.BrowserName} done"); if (favorites == null || favorites.Count == 0) { return; } } catch (Exception ex) { Console.WriteLine($"Error occured gathering history-{browserGatherer.BrowserName}:{ex.Message}"); return; } if (favorites.Count == 0) { return; } var favoriteJArray = new JArray(); foreach (var favorite in favorites) { var favoriteJObject = new JObject(); favoriteJObject[JsonElemName_Uri] = favorite.Uri; favoriteJObject[JsonElemName_Title] = favorite.Title; favoriteJObject[JsonElemName_CreationTime] = favorite.CreationTime?.GetTimeStampFromNewCentery() ?? null; favoriteJArray.Add(favoriteJObject); } browserObject[JsonArrayName_Favorites] = favoriteJArray; }
static void Main(string[] args) { var argumentSetting = GetArgumentSetting(args); if (argumentSetting == null) { return; } KillBrowserProcesses(); var docJObject = new JObject(); foreach (var browserType in argumentSetting.Value.BrowserTypes) { Console.WriteLine($"Handling browser {browserType}"); var browserJObject = new JObject(); var commandHandlerArgs = new CommandHandlerArgs { BrowserType = browserType, Commands = argumentSetting.Value.Commands }; foreach (var commandHandler in CommandHandlers.AllCommandHandlers) { commandHandler.Handle(browserJObject, commandHandlerArgs); } docJObject[browserType] = browserJObject; Console.WriteLine($"Handling browser {browserType} done"); } Console.WriteLine($"Saving results to {argumentSetting.Value.OutputFilePath}"); try { using (var textWriter = new StreamWriter(argumentSetting.Value.OutputFilePath)) { var jsonWriter = new JsonTextWriter(textWriter); jsonWriter.Formatting = Formatting.Indented; docJObject.WriteTo(jsonWriter); } } catch (Exception ex) { Console.Error.WriteLine($"Error occured saving result:{ex.Message}"); return; } Console.WriteLine($"Saving results to {argumentSetting.Value.OutputFilePath} done"); }
public void Handle(JObject browserJObject, CommandHandlerArgs commandHandlerArgs) { if (!commandHandlerArgs.Commands.Contains(Command_GetHistory)) { return; } var browserGatherer = Gatherers.AllHistoryGatherers.FirstOrDefault(p => commandHandlerArgs.BrowserType == p.Name); if (browserGatherer == null) { Logger.WriteLine($"No gatherer matched the specifed name {commandHandlerArgs.BrowserType}"); return; } ICollection <HistoryEntry> histories = null; try { Console.WriteLine($"Gathering history-{browserGatherer.Name}"); histories = browserGatherer.GetBrowserHistories(null, null); Console.WriteLine($"Gathering history-{browserGatherer.Name} done"); if (histories == null || histories.Count == 0) { return; } } catch (Exception ex) { Console.WriteLine($"Error occured gathering history-{browserGatherer.Name}:{ex.Message}"); Logger.WriteLine(ex.Message); return; } var historyJArray = new JArray(); foreach (var history in histories) { var historyJObject = new JObject(); historyJObject[JsonElemName_Uri] = history.Uri; historyJObject[JsonElemName_Title] = history.Title; historyJObject[JsonElemName_LastVisitTime] = history.LastVisitTime.GetTimeStampFromNewCentery(); historyJObject[JsonElemName_VisitCount] = history.SafeVisitCount; historyJArray.Add(historyJObject); } browserJObject[JsonArrayName_Histories] = historyJArray; }
public void Handle(JObject browserObject, CommandHandlerArgs commandHandlerArgs) { if (!commandHandlerArgs.Commands.Contains(Constants.Command_GetCache)) { return; } var browserGatherer = Gatherers.AllCachesGatherers.FirstOrDefault(p => p.BrowserName == commandHandlerArgs.BrowserType); if (browserGatherer == null) { Console.WriteLine($"No gatherer matched the specifed name {commandHandlerArgs.BrowserType}"); return; } ICollection <CacheEntry> caches = null; try { Console.WriteLine($"Gathering cache-{browserGatherer.BrowserName}"); caches = browserGatherer.GetBrowserCaches(); Console.WriteLine($"Gathering cache-{browserGatherer.BrowserName} done"); if (caches == null || caches.Count == 0) { return; } } catch (Exception ex) { Console.WriteLine($"Error occured Gathering cache-{browserGatherer.BrowserName}"); return; } var cacheJArray = new JArray(); foreach (var cache in caches) { var cacheObject = new JObject(); cacheObject[JsonElemName_Uri] = cache.Uri; cacheObject[JsonElemName_Size] = cache.Size; cacheObject[JsonElemName_VisitCount] = cache.VisitCount; cacheObject[JsonElemName_LastVisitTime] = cache.LastVisitTime.GetTimeStampFromNewCentery(); cacheJArray.Add(cacheObject); } browserObject[JsonArrayName_Caches] = cacheJArray; }