mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 17:34:09 +02:00
Invalid command line options now show errors
This commit is contained in:
@@ -33,8 +33,11 @@ namespace Jackett.Console
|
|||||||
[Option('k', "Stop", HelpText = "Stop the Jacket Windows service (Must be admin)")]
|
[Option('k', "Stop", HelpText = "Stop the Jacket Windows service (Must be admin)")]
|
||||||
public bool StopService { get; set; }
|
public bool StopService { get; set; }
|
||||||
|
|
||||||
[Option('x', "ListenPublic", HelpText = "Listen publicly [true/false]")]
|
[Option('x', "ListenPublic", HelpText = "Listen publicly")]
|
||||||
public bool? ListenPublic { get; set; }
|
public bool ListenPublic { get; set; }
|
||||||
|
|
||||||
|
[Option('z', "ListenPrivate", HelpText = "Only allow local access")]
|
||||||
|
public bool ListenPrivate { get; set; }
|
||||||
|
|
||||||
[Option('h', "Help", HelpText = "Show Help")]
|
[Option('h', "Help", HelpText = "Show Help")]
|
||||||
public bool ShowHelp { get; set; }
|
public bool ShowHelp { get; set; }
|
||||||
@@ -48,7 +51,10 @@ namespace Jackett.Console
|
|||||||
[Option('m', "MigrateSettings", HelpText = "Migrate settings manually (Must be admin on Windows)")]
|
[Option('m', "MigrateSettings", HelpText = "Migrate settings manually (Must be admin on Windows)")]
|
||||||
public bool MigrateSettings { get; set; }
|
public bool MigrateSettings { get; set; }
|
||||||
|
|
||||||
[Option('f', "SSLFix", HelpText = "Linux Libcurl NSS Missing ECC Ciphers workaround (Use if you can't access some trackers) [true/false].")]
|
[Option('f', "SSLFix", HelpText = "[true/false] Linux Libcurl NSS Missing ECC Ciphers workaround (Use if you can't access some trackers) .")]
|
||||||
public bool? SSLFix { get; set; }
|
public bool? SSLFix { get; set; }
|
||||||
|
|
||||||
|
[ParserState]
|
||||||
|
public IParserState LastParserState { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -26,6 +26,19 @@ namespace JackettConsole
|
|||||||
var options = new ConsoleOptions();
|
var options = new ConsoleOptions();
|
||||||
if (!Parser.Default.ParseArguments(args, options) || options.ShowHelp == true)
|
if (!Parser.Default.ParseArguments(args, options) || options.ShowHelp == true)
|
||||||
{
|
{
|
||||||
|
if (options.LastParserState != null && options.LastParserState.Errors.Count > 0)
|
||||||
|
{
|
||||||
|
var help = new HelpText();
|
||||||
|
var errors = help.RenderParsingErrorsText(options, 2); // indent with two spaces
|
||||||
|
Console.WriteLine("Jackett v" + Engine.ConfigService.GetVersion());
|
||||||
|
Console.WriteLine("Switch error: " + errors);
|
||||||
|
Console.WriteLine("See --help for further details on switches.");
|
||||||
|
Environment.ExitCode = 1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
var text = HelpText.AutoBuild(options, (HelpText current) => HelpText.DefaultParsingErrorsHandler(options, current));
|
var text = HelpText.AutoBuild(options, (HelpText current) => HelpText.DefaultParsingErrorsHandler(options, current));
|
||||||
text.Copyright = " ";
|
text.Copyright = " ";
|
||||||
text.Heading = "Jackett v" + Engine.ConfigService.GetVersion() + " options:";
|
text.Heading = "Jackett v" + Engine.ConfigService.GetVersion() + " options:";
|
||||||
@@ -33,15 +46,23 @@ namespace JackettConsole
|
|||||||
Environment.ExitCode = 1;
|
Environment.ExitCode = 1;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
|
if (options.ListenPublic && options.ListenPrivate)
|
||||||
|
{
|
||||||
|
Console.WriteLine("You can only use listen private OR listen publicly.");
|
||||||
|
Environment.ExitCode = 1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
/* ====== Options ===== */
|
/* ====== Options ===== */
|
||||||
|
|
||||||
// SSL Fix
|
// SSL Fix
|
||||||
Startup.DoSSLFix = options.SSLFix;
|
Startup.DoSSLFix = options.SSLFix;
|
||||||
|
|
||||||
// Use curl
|
// Use curl
|
||||||
if (options.Client!=null)
|
if (options.Client != null)
|
||||||
Startup.ClientOverride = options.Client.ToLowerInvariant();
|
Startup.ClientOverride = options.Client.ToLowerInvariant();
|
||||||
|
|
||||||
// Logging
|
// Logging
|
||||||
@@ -126,12 +147,12 @@ namespace JackettConsole
|
|||||||
/* ====== Overrides ===== */
|
/* ====== Overrides ===== */
|
||||||
|
|
||||||
// Override listen public
|
// Override listen public
|
||||||
if(options.ListenPublic.HasValue)
|
if (options.ListenPublic || options.ListenPrivate)
|
||||||
{
|
{
|
||||||
if (Engine.Server.Config.AllowExternal != options.ListenPublic)
|
if (Engine.Server.Config.AllowExternal != options.ListenPublic)
|
||||||
{
|
{
|
||||||
Engine.Logger.Info("Overriding external access to " + options.ListenPublic);
|
Engine.Logger.Info("Overriding external access to " + options.ListenPublic);
|
||||||
Engine.Server.Config.AllowExternal = options.ListenPublic.Value;
|
Engine.Server.Config.AllowExternal = options.ListenPublic;
|
||||||
if (System.Environment.OSVersion.Platform != PlatformID.Unix)
|
if (System.Environment.OSVersion.Platform != PlatformID.Unix)
|
||||||
{
|
{
|
||||||
if (ServerUtil.IsUserAdministrator())
|
if (ServerUtil.IsUserAdministrator())
|
||||||
@@ -151,7 +172,7 @@ namespace JackettConsole
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Override port
|
// Override port
|
||||||
if(options.Port != 0)
|
if (options.Port != 0)
|
||||||
{
|
{
|
||||||
if (Engine.Server.Config.Port != options.Port)
|
if (Engine.Server.Config.Port != options.Port)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user