Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 13 additions & 3 deletions RealEstatesWatcher.UI.Console/CmdArguments.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ public class CmdArguments
private readonly Option<string> _engineConfigurationFileOption;
private readonly Option<string?> _filtersFileOption;
private readonly Option<string?> _scraperFileOption;
private readonly Option<string?> _applicationIdOption;

public string PortalsConfigFilePath { get; private set; } = string.Empty;

Expand All @@ -22,6 +23,8 @@ public class CmdArguments

public string? WebScraperConfigFilePath { get; private set; }

public string? ApplicationId { get; private set; }

public CmdArguments()
{
_portalsFileOption = new Option<string>("-portals", "--p")
Expand Down Expand Up @@ -49,14 +52,20 @@ public CmdArguments()
Description = "The path to the configuration file of the web scraper",
Required = false
};
_applicationIdOption = new Option<string?>("-application_id", "--id")
{
Description = "The application ID for identifying specific instance of the app",
Required = false
};

_rootCommand =
[
_portalsFileOption,
_handlersFileOption,
_engineConfigurationFileOption,
_filtersFileOption,
_scraperFileOption
_scraperFileOption,
_applicationIdOption
];
_rootCommand.Description =
"Script for real-time periodic watching of Real estate advertisement portals with notifications on new ads.";
Expand All @@ -73,8 +82,9 @@ public async Task<bool> ParseAsync(string[] arguments, CancellationToken cancell
PortalsConfigFilePath = parsedResults.GetRequiredValue(_portalsFileOption);
HandlersConfigFilePath = parsedResults.GetRequiredValue(_handlersFileOption);
EngineConfigFilePath = parsedResults.GetRequiredValue(_engineConfigurationFileOption);
FiltersConfigFilePath = parsedResults.GetRequiredValue(_filtersFileOption);
WebScraperConfigFilePath = parsedResults.GetRequiredValue(_scraperFileOption);
FiltersConfigFilePath = parsedResults.GetValue(_filtersFileOption);
WebScraperConfigFilePath = parsedResults.GetValue(_scraperFileOption);
ApplicationId = parsedResults.GetValue(_applicationIdOption);

parsed = true;
});
Expand Down
23 changes: 22 additions & 1 deletion RealEstatesWatcher.UI.Console/ConsoleRunner.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
using System.Text;
using System.Diagnostics;
using System.Reflection;
using System.Text;
using Google.Cloud.Diagnostics.Common;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
Expand Down Expand Up @@ -83,6 +86,7 @@ private static void ConfigureDependencyInjection()
var collection = new ServiceCollection();

// add logging
AddAndSetUpGoogleLogging(collection);
collection.AddLogging(builder =>
{
builder.AddNLog();
Expand Down Expand Up @@ -118,6 +122,23 @@ private static void ConfigureDependencyInjection()
_container = collection.BuildServiceProvider();
}

private static void AddAndSetUpGoogleLogging(ServiceCollection collection)
{
var fileVersionInfo = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location);
var loggingOptions = LoggingOptions.Create(LogLevel.Debug, $"REW-{fileVersionInfo.FileVersion}", new Dictionary<string, string>
{
{ "appId", $"App-{CmdArguments.ApplicationId ?? Guid.NewGuid().ToString()}" }
});
#if DEBUG
collection.AddGoogleDiagnostics("real-estates-watcher-475712",
"Real Estates Watcher",
fileVersionInfo.FileVersion ?? "N/A",
loggingOptions: loggingOptions);
#else
collection.AddGoogleDiagnostics(loggingOptions: loggingOptions);
#endif
}

private static LocalNodejsConsoleWebScraperSettings LoadWebScraperSettings(string webScraperConfigFilePath)
{
var configuration = new ConfigurationBuilder()
Expand Down
4 changes: 2 additions & 2 deletions RealEstatesWatcher.UI.Console/Properties/launchSettings.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
"profiles": {
"RealEstatesWatcher.UI.Console": {
"commandName": "Project",
"commandLineArgs": "--h ./configs/handlers.ini --p ./configs/portals.ini --e ./configs/engine.ini --f ./configs/filters.ini --s ./configs/scraper.ini"
},
"commandLineArgs": "--h ./configs/handlers.ini --p ./configs/portals.ini --e ./configs/engine.ini --f ./configs/filters.ini --s ./configs/scraper.ini --id localtest"
},
"Container (Dockerfile)": {
"commandName": "Docker"
}
Expand Down
Loading