Update System.CommandLine dependency.

This commit is contained in:
2022-04-10 12:54:04 +01:00
parent 66975faa66
commit 30b5802198
30 changed files with 446 additions and 865 deletions

View File

@@ -52,63 +52,63 @@
<ConsolePause>false</ConsolePause>
</PropertyGroup>
<ItemGroup>
<Compile Include="Commands\Database\DatabaseFamily.cs"/>
<Compile Include="Commands\Database\Statistics.cs"/>
<Compile Include="Commands\Database\Update.cs"/>
<Compile Include="Commands\Device\DeviceFamily.cs"/>
<Compile Include="Commands\Device\Info.cs"/>
<Compile Include="Commands\Device\DeviceReport.cs"/>
<Compile Include="Commands\Device\List.cs"/>
<Compile Include="Commands\Filesystem\Info.cs"/>
<Compile Include="Commands\Filesystem\ExtractFiles.cs"/>
<Compile Include="Commands\Filesystem\FilesystemFamily.cs"/>
<Compile Include="Commands\Filesystem\Options.cs"/>
<Compile Include="Commands\Filesystem\Ls.cs"/>
<Compile Include="Commands\Formats.cs"/>
<Compile Include="Commands\Image\Checksum.cs"/>
<Compile Include="Commands\Image\Compare.cs"/>
<Compile Include="Commands\Image\Convert.cs"/>
<Compile Include="Commands\Image\CreateSidecar.cs"/>
<Compile Include="Commands\Image\Decode.cs"/>
<Compile Include="Commands\Image\Entropy.cs"/>
<Compile Include="Commands\Image\ImageFamily.cs"/>
<Compile Include="Commands\Image\Info.cs"/>
<Compile Include="Commands\Image\Options.cs"/>
<Compile Include="Commands\Image\Print.cs"/>
<Compile Include="Commands\Image\Verify.cs"/>
<Compile Include="Commands\ListNamespaces.cs"/>
<Compile Include="Commands\Media\Dump.cs"/>
<Compile Include="Commands\Media\MediaFamily.cs"/>
<Compile Include="Commands\Media\Info.cs"/>
<Compile Include="Commands\Media\Scan.cs"/>
<Compile Include="Commands\Archive\ArchiveFamily.cs"/>
<Compile Include="Commands\Archive\Info.cs"/>
<Compile Include="Commands\Remote.cs"/>
<Compile Include="Main.cs"/>
<Compile Include="Commands\Configure.cs"/>
<Compile Include="Commands\ListEncodings.cs"/>
<Compile Include="Commands\Database\DatabaseFamily.cs" />
<Compile Include="Commands\Database\Statistics.cs" />
<Compile Include="Commands\Database\Update.cs" />
<Compile Include="Commands\Device\DeviceFamily.cs" />
<Compile Include="Commands\Device\Info.cs" />
<Compile Include="Commands\Device\DeviceReport.cs" />
<Compile Include="Commands\Device\List.cs" />
<Compile Include="Commands\Filesystem\Info.cs" />
<Compile Include="Commands\Filesystem\ExtractFiles.cs" />
<Compile Include="Commands\Filesystem\FilesystemFamily.cs" />
<Compile Include="Commands\Filesystem\Options.cs" />
<Compile Include="Commands\Filesystem\Ls.cs" />
<Compile Include="Commands\Formats.cs" />
<Compile Include="Commands\Image\Checksum.cs" />
<Compile Include="Commands\Image\Compare.cs" />
<Compile Include="Commands\Image\Convert.cs" />
<Compile Include="Commands\Image\CreateSidecar.cs" />
<Compile Include="Commands\Image\Decode.cs" />
<Compile Include="Commands\Image\Entropy.cs" />
<Compile Include="Commands\Image\ImageFamily.cs" />
<Compile Include="Commands\Image\Info.cs" />
<Compile Include="Commands\Image\Options.cs" />
<Compile Include="Commands\Image\Print.cs" />
<Compile Include="Commands\Image\Verify.cs" />
<Compile Include="Commands\ListNamespaces.cs" />
<Compile Include="Commands\Media\Dump.cs" />
<Compile Include="Commands\Media\MediaFamily.cs" />
<Compile Include="Commands\Media\Info.cs" />
<Compile Include="Commands\Media\Scan.cs" />
<Compile Include="Commands\Archive\ArchiveFamily.cs" />
<Compile Include="Commands\Archive\Info.cs" />
<Compile Include="Commands\Remote.cs" />
<Compile Include="Main.cs" />
<Compile Include="Commands\Configure.cs" />
<Compile Include="Commands\ListEncodings.cs" />
</ItemGroup>
<ItemGroup>
<Folder Include="Commands\"/>
<Folder Include="Commands\" />
</ItemGroup>
<ProjectExtensions>
<MonoDevelop>
<Properties>
<Policies>
<VersionControlPolicy>
<CommitMessageStyle Indent=" " LastFilePostfix=":&#xA; " LineAlign="0" IncludeDirectoryPaths="True"/>
<CommitMessageStyle Indent=" " LastFilePostfix=":&#xA; " LineAlign="0" IncludeDirectoryPaths="True" />
</VersionControlPolicy>
<ChangeLogPolicy UpdateMode="ProjectRoot" VcsIntegration="RequireEntry">
<MessageStyle Header="" Indent="" LastFilePostfix=":&#xA; " LineAlign="2" IncludeDirectoryPaths="True"/>
<inheritsSet/>
<inheritsScope/>
<MessageStyle Header="" Indent="" LastFilePostfix=":&#xA; " LineAlign="2" IncludeDirectoryPaths="True" />
<inheritsSet />
<inheritsScope />
</ChangeLogPolicy>
<DotNetNamingPolicy DirectoryNamespaceAssociation="PrefixedHierarchical" ResourceNamePolicy="MSBuild"/>
<TextStylePolicy TabWidth="4" IndentWidth="4" RemoveTrailingWhitespace="True" NoTabsAfterNonTabs="False" EolMarker="Native" FileWidth="80" TabsToSpaces="True" scope="text/plain"/>
<DotNetNamingPolicy DirectoryNamespaceAssociation="PrefixedHierarchical" ResourceNamePolicy="MSBuild" />
<TextStylePolicy TabWidth="4" IndentWidth="4" RemoveTrailingWhitespace="True" NoTabsAfterNonTabs="False" EolMarker="Native" FileWidth="80" TabsToSpaces="True" scope="text/plain" />
<NameConventionPolicy>
<Rules>
<NamingRule Name="Namespaces" AffectedEntity="Namespace" VisibilityMask="VisibilityMask" NamingStyle="PascalCase" IncludeInstanceMembers="True" IncludeStaticEntities="True"/>
<NamingRule Name="Types" AffectedEntity="Class, Struct, Enum, Delegate" VisibilityMask="VisibilityMask" NamingStyle="PascalCase" IncludeInstanceMembers="True" IncludeStaticEntities="True"/>
<NamingRule Name="Namespaces" AffectedEntity="Namespace" VisibilityMask="VisibilityMask" NamingStyle="PascalCase" IncludeInstanceMembers="True" IncludeStaticEntities="True" />
<NamingRule Name="Types" AffectedEntity="Class, Struct, Enum, Delegate" VisibilityMask="VisibilityMask" NamingStyle="PascalCase" IncludeInstanceMembers="True" IncludeStaticEntities="True" />
<NamingRule Name="Interfaces" AffectedEntity="Interface" VisibilityMask="VisibilityMask" NamingStyle="PascalCase" IncludeInstanceMembers="True" IncludeStaticEntities="True">
<RequiredPrefixes>
<String>I</String>
@@ -129,28 +129,28 @@
<String>Exception</String>
</RequiredSuffixes>
</NamingRule>
<NamingRule Name="Methods" AffectedEntity="Methods" VisibilityMask="VisibilityMask" NamingStyle="PascalCase" IncludeInstanceMembers="True" IncludeStaticEntities="True"/>
<NamingRule Name="Static Readonly Fields" AffectedEntity="ReadonlyField" VisibilityMask="Internal, Protected, Public" NamingStyle="PascalCase" IncludeInstanceMembers="False" IncludeStaticEntities="True"/>
<NamingRule Name="Fields (Non Private)" AffectedEntity="Field" VisibilityMask="Internal, Protected, Public" NamingStyle="PascalCase" IncludeInstanceMembers="True" IncludeStaticEntities="True"/>
<NamingRule Name="ReadOnly Fields (Non Private)" AffectedEntity="ReadonlyField" VisibilityMask="Internal, Protected, Public" NamingStyle="PascalCase" IncludeInstanceMembers="True" IncludeStaticEntities="False"/>
<NamingRule Name="Methods" AffectedEntity="Methods" VisibilityMask="VisibilityMask" NamingStyle="PascalCase" IncludeInstanceMembers="True" IncludeStaticEntities="True" />
<NamingRule Name="Static Readonly Fields" AffectedEntity="ReadonlyField" VisibilityMask="Internal, Protected, Public" NamingStyle="PascalCase" IncludeInstanceMembers="False" IncludeStaticEntities="True" />
<NamingRule Name="Fields (Non Private)" AffectedEntity="Field" VisibilityMask="Internal, Protected, Public" NamingStyle="PascalCase" IncludeInstanceMembers="True" IncludeStaticEntities="True" />
<NamingRule Name="ReadOnly Fields (Non Private)" AffectedEntity="ReadonlyField" VisibilityMask="Internal, Protected, Public" NamingStyle="PascalCase" IncludeInstanceMembers="True" IncludeStaticEntities="False" />
<NamingRule Name="Fields (Private)" AffectedEntity="Field, ReadonlyField" VisibilityMask="Private" NamingStyle="CamelCase" IncludeInstanceMembers="True" IncludeStaticEntities="False">
<AllowedPrefixes>
<String>_</String>
<String>m_</String>
</AllowedPrefixes>
</NamingRule>
<NamingRule Name="Static Fields (Private)" AffectedEntity="Field" VisibilityMask="Private" NamingStyle="CamelCase" IncludeInstanceMembers="False" IncludeStaticEntities="True"/>
<NamingRule Name="Static Fields (Private)" AffectedEntity="Field" VisibilityMask="Private" NamingStyle="CamelCase" IncludeInstanceMembers="False" IncludeStaticEntities="True" />
<NamingRule Name="ReadOnly Fields (Private)" AffectedEntity="ReadonlyField" VisibilityMask="Private" NamingStyle="CamelCase" IncludeInstanceMembers="True" IncludeStaticEntities="False">
<AllowedPrefixes>
<String>_</String>
<String>m_</String>
</AllowedPrefixes>
</NamingRule>
<NamingRule Name="Constant Fields" AffectedEntity="ConstantField" VisibilityMask="VisibilityMask" NamingStyle="PascalCase" IncludeInstanceMembers="True" IncludeStaticEntities="True"/>
<NamingRule Name="Properties" AffectedEntity="Property" VisibilityMask="VisibilityMask" NamingStyle="PascalCase" IncludeInstanceMembers="True" IncludeStaticEntities="True"/>
<NamingRule Name="Events" AffectedEntity="Event" VisibilityMask="VisibilityMask" NamingStyle="PascalCase" IncludeInstanceMembers="True" IncludeStaticEntities="True"/>
<NamingRule Name="Enum Members" AffectedEntity="EnumMember" VisibilityMask="VisibilityMask" NamingStyle="PascalCase" IncludeInstanceMembers="True" IncludeStaticEntities="True"/>
<NamingRule Name="Parameters" AffectedEntity="Parameter" VisibilityMask="VisibilityMask" NamingStyle="CamelCase" IncludeInstanceMembers="True" IncludeStaticEntities="True"/>
<NamingRule Name="Constant Fields" AffectedEntity="ConstantField" VisibilityMask="VisibilityMask" NamingStyle="PascalCase" IncludeInstanceMembers="True" IncludeStaticEntities="True" />
<NamingRule Name="Properties" AffectedEntity="Property" VisibilityMask="VisibilityMask" NamingStyle="PascalCase" IncludeInstanceMembers="True" IncludeStaticEntities="True" />
<NamingRule Name="Events" AffectedEntity="Event" VisibilityMask="VisibilityMask" NamingStyle="PascalCase" IncludeInstanceMembers="True" IncludeStaticEntities="True" />
<NamingRule Name="Enum Members" AffectedEntity="EnumMember" VisibilityMask="VisibilityMask" NamingStyle="PascalCase" IncludeInstanceMembers="True" IncludeStaticEntities="True" />
<NamingRule Name="Parameters" AffectedEntity="Parameter" VisibilityMask="VisibilityMask" NamingStyle="CamelCase" IncludeInstanceMembers="True" IncludeStaticEntities="True" />
<NamingRule Name="Type Parameters" AffectedEntity="TypeParameter" VisibilityMask="VisibilityMask" NamingStyle="PascalCase" IncludeInstanceMembers="True" IncludeStaticEntities="True">
<RequiredPrefixes>
<String>T</String>
@@ -158,15 +158,15 @@
</NamingRule>
</Rules>
</NameConventionPolicy>
<StandardHeader IncludeInNewFiles="True" Text="/***************************************************************************&#xA;Aaru Data Preservation Suite&#xA;----------------------------------------------------------------------------&#xA; &#xA;Filename : ${FileName}&#xA;Author(s) : ${AuthorName} &lt;${AuthorEmail}&gt;&#xA;&#xA;Component : Component&#xA; &#xA;--[ Description ] ----------------------------------------------------------&#xA; &#xA; Description&#xA; &#xA;--[ License ] --------------------------------------------------------------&#xA; &#xA; This program is free software: you can redistribute it and/or modify&#xA; it under the terms of the GNU General Public License as&#xA; published by the Free Software Foundation, either version 3 of the&#xA; License, or (at your option) any later version.&#xA;&#xA; This program is distributed in the hope that it will be useful,&#xA; but WITHOUT ANY WARRANTY; without even the implied warranty of&#xA; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&#xA; GNU General Public License for more details.&#xA;&#xA; You should have received a copy of the GNU General Public License&#xA; along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.&#xA;&#xA;----------------------------------------------------------------------------&#xA;Copyright © 2011-${Year} ${CopyrightHolder}&#xA;****************************************************************************/"/>
<TextStylePolicy FileWidth="120" TabWidth="4" IndentWidth="4" RemoveTrailingWhitespace="True" NoTabsAfterNonTabs="False" EolMarker="Native" TabsToSpaces="True" scope="text/x-csharp"/>
<CSharpFormattingPolicy IndentBlock="True" IndentBraces="False" IndentSwitchSection="True" IndentSwitchCaseSection="True" LabelPositioning="OneLess" NewLinesForBracesInTypes="True" NewLinesForBracesInMethods="True" NewLinesForBracesInProperties="True" NewLinesForBracesInAccessors="True" NewLinesForBracesInAnonymousMethods="True" NewLinesForBracesInControlBlocks="True" NewLinesForBracesInAnonymousTypes="True" NewLinesForBracesInObjectCollectionArrayInitializers="True" NewLinesForBracesInLambdaExpressionBody="True" NewLineForElse="True" NewLineForCatch="True" NewLineForFinally="True" NewLineForMembersInObjectInit="True" NewLineForMembersInAnonymousTypes="True" NewLineForClausesInQuery="True" SpacingAfterMethodDeclarationName="False" SpaceWithinMethodDeclarationParenthesis="False" SpaceBetweenEmptyMethodDeclarationParentheses="False" SpaceAfterMethodCallName="False" SpaceWithinMethodCallParentheses="False" SpaceBetweenEmptyMethodCallParentheses="False" SpaceWithinExpressionParentheses="False" SpaceWithinCastParentheses="False" SpaceWithinOtherParentheses="False" SpaceAfterCast="False" SpacesIgnoreAroundVariableDeclaration="False" SpaceBeforeOpenSquareBracket="False" SpaceBetweenEmptySquareBrackets="False" SpaceWithinSquareBrackets="False" SpaceAfterColonInBaseTypeDeclaration="True" SpaceAfterComma="True" SpaceAfterDot="False" SpaceAfterSemicolonsInForStatement="True" SpaceBeforeColonInBaseTypeDeclaration="True" SpaceBeforeComma="False" SpaceBeforeDot="False" SpaceBeforeSemicolonsInForStatement="False" SpacingAroundBinaryOperator="Single" WrappingPreserveSingleLine="True" WrappingKeepStatementsOnSingleLine="True" SpaceAfterControlFlowStatementKeyword="False" scope="text/x-csharp"/>
<StandardHeader IncludeInNewFiles="True" Text="/***************************************************************************&#xA;Aaru Data Preservation Suite&#xA;----------------------------------------------------------------------------&#xA; &#xA;Filename : ${FileName}&#xA;Author(s) : ${AuthorName} &lt;${AuthorEmail}&gt;&#xA;&#xA;Component : Component&#xA; &#xA;--[ Description ] ----------------------------------------------------------&#xA; &#xA; Description&#xA; &#xA;--[ License ] --------------------------------------------------------------&#xA; &#xA; This program is free software: you can redistribute it and/or modify&#xA; it under the terms of the GNU General Public License as&#xA; published by the Free Software Foundation, either version 3 of the&#xA; License, or (at your option) any later version.&#xA;&#xA; This program is distributed in the hope that it will be useful,&#xA; but WITHOUT ANY WARRANTY; without even the implied warranty of&#xA; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&#xA; GNU General Public License for more details.&#xA;&#xA; You should have received a copy of the GNU General Public License&#xA; along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.&#xA;&#xA;----------------------------------------------------------------------------&#xA;Copyright © 2011-${Year} ${CopyrightHolder}&#xA;****************************************************************************/" />
<TextStylePolicy FileWidth="120" TabWidth="4" IndentWidth="4" RemoveTrailingWhitespace="True" NoTabsAfterNonTabs="False" EolMarker="Native" TabsToSpaces="True" scope="text/x-csharp" />
<CSharpFormattingPolicy IndentBlock="True" IndentBraces="False" IndentSwitchSection="True" IndentSwitchCaseSection="True" LabelPositioning="OneLess" NewLinesForBracesInTypes="True" NewLinesForBracesInMethods="True" NewLinesForBracesInProperties="True" NewLinesForBracesInAccessors="True" NewLinesForBracesInAnonymousMethods="True" NewLinesForBracesInControlBlocks="True" NewLinesForBracesInAnonymousTypes="True" NewLinesForBracesInObjectCollectionArrayInitializers="True" NewLinesForBracesInLambdaExpressionBody="True" NewLineForElse="True" NewLineForCatch="True" NewLineForFinally="True" NewLineForMembersInObjectInit="True" NewLineForMembersInAnonymousTypes="True" NewLineForClausesInQuery="True" SpacingAfterMethodDeclarationName="False" SpaceWithinMethodDeclarationParenthesis="False" SpaceBetweenEmptyMethodDeclarationParentheses="False" SpaceAfterMethodCallName="False" SpaceWithinMethodCallParentheses="False" SpaceBetweenEmptyMethodCallParentheses="False" SpaceWithinExpressionParentheses="False" SpaceWithinCastParentheses="False" SpaceWithinOtherParentheses="False" SpaceAfterCast="False" SpacesIgnoreAroundVariableDeclaration="False" SpaceBeforeOpenSquareBracket="False" SpaceBetweenEmptySquareBrackets="False" SpaceWithinSquareBrackets="False" SpaceAfterColonInBaseTypeDeclaration="True" SpaceAfterComma="True" SpaceAfterDot="False" SpaceAfterSemicolonsInForStatement="True" SpaceBeforeColonInBaseTypeDeclaration="True" SpaceBeforeComma="False" SpaceBeforeDot="False" SpaceBeforeSemicolonsInForStatement="False" SpacingAroundBinaryOperator="Single" WrappingPreserveSingleLine="True" WrappingKeepStatementsOnSingleLine="True" SpaceAfterControlFlowStatementKeyword="False" scope="text/x-csharp" />
</Policies>
</Properties>
</MonoDevelop>
</ProjectExtensions>
<ItemGroup>
<None Remove="Packaging.Targets"/>
<None Remove="Packaging.Targets" />
</ItemGroup>
<ItemGroup>
<None Include="..\README.md">
@@ -190,8 +190,8 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Aaru.Checksums\Aaru.Checksums.csproj"></ProjectReference>
<ProjectReference Include="..\Aaru.Database\Aaru.Database.csproj"/>
<ProjectReference Include="..\Aaru.Gui\Aaru.Gui.csproj"/>
<ProjectReference Include="..\Aaru.Database\Aaru.Database.csproj" />
<ProjectReference Include="..\Aaru.Gui\Aaru.Gui.csproj" />
<ProjectReference Include="..\Aaru.Helpers\Aaru.Helpers.csproj"></ProjectReference>
<ProjectReference Include="..\Aaru.Images\Aaru.Images.csproj"></ProjectReference>
<ProjectReference Include="..\Aaru.CommonTypes\Aaru.CommonTypes.csproj"></ProjectReference>
@@ -216,33 +216,34 @@
<Folder Include="..\LICENSE"></Folder>
</ItemGroup>
<ItemGroup>
<None Include="..\.github\CODE_OF_CONDUCT.md"/>
<None Include="..\.github\CODE_OF_CONDUCT.md" />
</ItemGroup>
<ItemGroup>
<Content Include="..\.github\PULL_REQUEST_TEMPLATE.md"/>
<Content Include="..\.github\PULL_REQUEST_TEMPLATE.md" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.2"/>
<PackageReference Include="Newtonsoft.Json" Version="13.0.1"/>
<PackageReference Include="Spectre.Console" Version="0.43.0"/>
<PackageReference Include="Spectre.Console.Analyzer" Version="0.43.0"/>
<PackageReference Include="System.CommandLine" Version="2.0.0-beta1.20104.2"/>
<PackageReference Include="System.Text.Encoding.CodePages" Version="6.0.0"/>
<PackageReference Include="System.ValueTuple" Version="4.5.0"/>
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.2" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="Spectre.Console" Version="0.43.0" />
<PackageReference Include="Spectre.Console.Analyzer" Version="0.43.0" />
<PackageReference Include="System.CommandLine" Version="2.0.0-beta3.22114.1" />
<PackageReference Include="System.CommandLine.NamingConventionBinder" Version="2.0.0-beta3.22114.1" />
<PackageReference Include="System.Text.Encoding.CodePages" Version="6.0.0" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" />
<PackageReference Include="Unclassified.NetRevisionTask" Version="0.4.2">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="System.Collections" Version="4.3.0"/>
<PackageReference Include="System.Diagnostics.Debug" Version="4.3.0"/>
<PackageReference Include="System.IO.FileSystem.Primitives" Version="4.3.0"/>
<PackageReference Include="System.Runtime.Extensions" Version="4.3.1"/>
<PackageReference Include="System.Runtime.Handles" Version="4.3.0"/>
<PackageReference Include="System.Runtime.InteropServices" Version="4.3.0"/>
<PackageReference Include="System.Net.Primitives" Version="4.3.1"/>
<PackageReference Include="System.IO.FileSystem" Version="4.3.0"/>
<PackageReference Include="System.Collections" Version="4.3.0" />
<PackageReference Include="System.Diagnostics.Debug" Version="4.3.0" />
<PackageReference Include="System.IO.FileSystem.Primitives" Version="4.3.0" />
<PackageReference Include="System.Runtime.Extensions" Version="4.3.1" />
<PackageReference Include="System.Runtime.Handles" Version="4.3.0" />
<PackageReference Include="System.Runtime.InteropServices" Version="4.3.0" />
<PackageReference Include="System.Net.Primitives" Version="4.3.1" />
<PackageReference Include="System.IO.FileSystem" Version="4.3.0" />
<PackageReference Update="Packaging.Targets" Version="0.1.189"></PackageReference>
<PackageReference Include="Packaging.Targets" Version="0.1.220"/>
<PackageReference Include="Packaging.Targets" Version="0.1.220" />
</ItemGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<DebugPackage>-dbg</DebugPackage>

View File

@@ -35,7 +35,7 @@ namespace Aaru.Commands.Archive;
using System;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using Aaru.CommonTypes.Enums;
using Aaru.Console;
using Aaru.Core;

View File

@@ -34,7 +34,7 @@ namespace Aaru.Commands;
using System;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using Aaru.CommonTypes.Enums;
using Aaru.Console;
using Aaru.Settings;

View File

@@ -33,7 +33,7 @@
namespace Aaru.Commands.Database;
using System;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using System.Linq;
using Aaru.CommonTypes.Enums;
using Aaru.Console;

View File

@@ -34,7 +34,7 @@ namespace Aaru.Commands.Database;
using System;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using System.Diagnostics;
using System.IO;
using Aaru.CommonTypes.Enums;
@@ -53,17 +53,8 @@ sealed class UpdateCommand : Command
{
_mainDbUpdate = mainDbUpdate;
Add(new Option("--clear", "Clear existing main database.")
{
Argument = new Argument<bool>(() => false),
Required = false
});
Add(new Option("--clear-all", "Clear existing main and local database.")
{
Argument = new Argument<bool>(() => false),
Required = false
});
Add(new Option<bool>("--clear", () => false, "Clear existing main database."));
Add(new Option<bool>("--clear-all", () => false, "Clear existing main and local database."));
Handler = CommandHandler.Create((Func<bool, bool, bool, bool, int>)Invoke);
}

View File

@@ -35,7 +35,7 @@ namespace Aaru.Commands.Device;
using System;
using System.Collections.Generic;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using System.IO;
using System.Linq;
using System.Threading;
@@ -70,14 +70,10 @@ sealed class DeviceReportCommand : Command
Name = "device-path"
});
Add(new Option(new[]
{
"--trap-disc", "-t"
}, "Does a device report using a trap disc.")
{
Argument = new Argument<bool>(() => false),
Required = false
});
Add(new Option<bool>(new[]
{
"--trap-disc", "-t"
}, () => false, "Does a device report using a trap disc."));
Handler = CommandHandler.Create(GetType().GetMethod(nameof(Invoke)));
}

View File

@@ -36,7 +36,7 @@ namespace Aaru.Commands.Device;
using System;
using System.Collections.Generic;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using System.Linq;
using Aaru.CommonTypes;
using Aaru.CommonTypes.Enums;
@@ -67,14 +67,10 @@ sealed class DeviceInfoCommand : Command
{
public DeviceInfoCommand() : base("info", "Gets information about a device.")
{
Add(new Option(new[]
{
"--output-prefix", "-w"
}, "Prefix for saving binary information from device.")
{
Argument = new Argument<string>(() => null),
Required = false
});
Add(new Option<string>(new[]
{
"--output-prefix", "-w"
}, () => null, "Prefix for saving binary information from device."));
AddArgument(new Argument<string>
{

View File

@@ -34,7 +34,7 @@ namespace Aaru.Commands.Device;
using System;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using System.Linq;
using Aaru.CommonTypes.Enums;
using Aaru.Console;

View File

@@ -35,7 +35,7 @@ namespace Aaru.Commands.Filesystem;
using System;
using System.Collections.Generic;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using System.IO;
using System.Text;
using Aaru.CommonTypes;
@@ -54,41 +54,25 @@ sealed class ExtractFilesCommand : Command
public ExtractFilesCommand() : base("extract", "Extracts all files in disc image.")
{
Add(new Option(new[]
{
"--encoding", "-e"
}, "Name of character encoding to use.")
{
Argument = new Argument<string>(() => null),
Required = false
});
Add(new Option<string>(new[]
{
"--encoding", "-e"
}, () => null, "Name of character encoding to use."));
Add(new Option(new[]
{
"--options", "-O"
}, "Comma separated name=value pairs of options to pass to filesystem plugin.")
{
Argument = new Argument<string>(() => null),
Required = false
});
Add(new Option<string>(new[]
{
"--options", "-O"
}, () => null, "Comma separated name=value pairs of options to pass to filesystem plugin."));
Add(new Option(new[]
{
"--xattrs", "-x"
}, "Extract extended attributes if present.")
{
Argument = new Argument<bool>(() => false),
Required = false
});
Add(new Option<bool>(new[]
{
"--xattrs", "-x"
}, () => false, "Extract extended attributes if present."));
Add(new Option(new[]
{
"--namespace", "-n"
}, "Namespace to use for filenames.")
{
Argument = new Argument<string>(() => null),
Required = false
});
Add(new Option<string>(new[]
{
"--namespace", "-n"
}, () => null, "Namespace to use for filenames."));
AddArgument(new Argument<string>
{

View File

@@ -35,7 +35,7 @@ namespace Aaru.Commands.Filesystem;
using System;
using System.Collections.Generic;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using System.Text;
using Aaru.CommonTypes;
using Aaru.CommonTypes.Enums;
@@ -49,32 +49,20 @@ sealed class FilesystemInfoCommand : Command
public FilesystemInfoCommand() : base("info",
"Opens a disc image and prints info on the found partitions and/or filesystems.")
{
Add(new Option(new[]
{
"--encoding", "-e"
}, "Name of character encoding to use.")
{
Argument = new Argument<string>(() => null),
Required = false
});
Add(new Option<string>(new[]
{
"--encoding", "-e"
}, () => null, "Name of character encoding to use."));
Add(new Option(new[]
{
"--filesystems", "-f"
}, "Searches and prints information about filesystems.")
{
Argument = new Argument<bool>(() => true),
Required = false
});
Add(new Option<bool>(new[]
{
"--filesystems", "-f"
}, () => true, "Searches and prints information about filesystems."));
Add(new Option(new[]
{
"--partitions", "-p"
}, "Searches and interprets partitions.")
{
Argument = new Argument<bool>(() => true),
Required = false
});
Add(new Option<bool>(new[]
{
"--partitions", "-p"
}, () => true, "Searches and interprets partitions."));
AddArgument(new Argument<string>
{

View File

@@ -35,7 +35,7 @@ namespace Aaru.Commands.Filesystem;
using System;
using System.Collections.Generic;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using System.Linq;
using System.Text;
using Aaru.CommonTypes;
@@ -53,41 +53,25 @@ sealed class LsCommand : Command
{
AddAlias("ls");
Add(new Option(new[]
{
"--encoding", "-e"
}, "Name of character encoding to use.")
{
Argument = new Argument<string>(() => null),
Required = false
});
Add(new Option<string>(new[]
{
"--encoding", "-e"
}, () => null, "Name of character encoding to use."));
Add(new Option(new[]
{
"--long-format", "-l"
}, "Uses long format.")
{
Argument = new Argument<bool>(() => true),
Required = false
});
Add(new Option<bool>(new[]
{
"--long-format", "-l"
}, () => true, "Uses long format."));
Add(new Option(new[]
{
"--options", "-O"
}, "Comma separated name=value pairs of options to pass to filesystem plugin.")
{
Argument = new Argument<string>(() => null),
Required = false
});
Add(new Option<string>(new[]
{
"--options", "-O"
}, () => null, "Comma separated name=value pairs of options to pass to filesystem plugin."));
Add(new Option(new[]
{
"--namespace", "-n"
}, "Namespace to use for filenames.")
{
Argument = new Argument<string>(() => null),
Required = false
});
Add(new Option<string>(new[]
{
"--namespace", "-n"
}, () => null, "Namespace to use for filenames."));
AddArgument(new Argument<string>
{

View File

@@ -35,7 +35,7 @@ namespace Aaru.Commands.Filesystem;
using System;
using System.Collections.Generic;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using System.Linq;
using Aaru.CommonTypes;
using Aaru.CommonTypes.Enums;

View File

@@ -35,7 +35,7 @@ namespace Aaru.Commands;
using System;
using System.Collections.Generic;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using System.Linq;
using Aaru.CommonTypes;
using Aaru.CommonTypes.Enums;

View File

@@ -35,7 +35,7 @@ namespace Aaru.Commands.Image;
using System;
using System.Collections.Generic;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using Aaru.CommonTypes;
using Aaru.CommonTypes.Enums;
using Aaru.CommonTypes.Interfaces;
@@ -57,110 +57,50 @@ sealed class ChecksumCommand : Command
{
AddAlias("chk");
Add(new Option(new[]
{
"--adler32", "-a"
}, "Calculates Adler32.")
{
Argument = new Argument<bool>(() => false),
Required = false
});
Add(new Option("--crc16", "Calculates CRC16.")
Add(new Option<bool>(new[]
{
Argument = new Argument<bool>(() => true),
Required = false
});
"--adler32", "-a"
}, () => false, "Calculates Adler32."));
Add(new Option(new[]
{
"--crc32", "-c"
}, "Calculates CRC32.")
{
Argument = new Argument<bool>(() => true),
Required = false
});
Add(new Option<bool>("--crc16", () => true, "Calculates CRC16."));
Add(new Option("--crc64", "Calculates CRC64.")
Add(new Option<bool>(new[]
{
Argument = new Argument<bool>(() => true),
Required = false
});
"--crc32", "-c"
}, () => true, "Calculates CRC32."));
Add(new Option("--fletcher16", "Calculates Fletcher-16.")
Add(new Option<bool>("--crc64", () => true, "Calculates CRC64."));
Add(new Option<bool>("--fletcher16", () => false, "Calculates Fletcher-16."));
Add(new Option<bool>("--fletcher32", () => false, "Calculates Fletcher-32."));
Add(new Option<bool>(new[]
{
Argument = new Argument<bool>(() => false),
Required = false
});
"--md5", "-m"
}, () => true, "Calculates MD5."));
Add(new Option("--fletcher32", "Calculates Fletcher-32.")
Add(new Option<bool>(new[]
{
Argument = new Argument<bool>(() => false),
Required = false
});
"--separated-tracks", "-t"
}, () => true, "Checksums each track separately."));
Add(new Option(new[]
{
"--md5", "-m"
}, "Calculates MD5.")
{
Argument = new Argument<bool>(() => true),
Required = false
});
Add(new Option(new[]
{
"--separated-tracks", "-t"
}, "Checksums each track separately.")
{
Argument = new Argument<bool>(() => true),
Required = false
});
Add(new Option(new[]
{
"--sha1", "-s"
}, "Calculates SHA1.")
{
Argument = new Argument<bool>(() => true),
Required = false
});
Add(new Option("--sha256", "Calculates SHA256.")
Add(new Option<bool>(new[]
{
Argument = new Argument<bool>(() => false),
Required = false
});
"--sha1", "-s"
}, () => true, "Calculates SHA1."));
Add(new Option("--sha384", "Calculates SHA384.")
Add(new Option<bool>("--sha256", () => false, "Calculates SHA256."));
Add(new Option<bool>("--sha384", () => false, "Calculates SHA384."));
Add(new Option<bool>("--sha512", () => true, "Calculates SHA512."));
Add(new Option<bool>(new[]
{
Argument = new Argument<bool>(() => false),
Required = false
});
"--spamsum", "-f"
}, () => true, "Calculates SpamSum fuzzy hash."));
Add(new Option("--sha512", "Calculates SHA512.")
Add(new Option<bool>(new[]
{
Argument = new Argument<bool>(() => true),
Required = false
});
Add(new Option(new[]
{
"--spamsum", "-f"
}, "Calculates SpamSum fuzzy hash.")
{
Argument = new Argument<bool>(() => true),
Required = false
});
Add(new Option(new[]
{
"--whole-disc", "-w"
}, "Checksums the whole disc.")
{
Argument = new Argument<bool>(() => true),
Required = false
});
"--whole-disc", "-w"
}, () => true, "Checksums the whole disc."));
AddArgument(new Argument<string>
{

View File

@@ -35,7 +35,7 @@ namespace Aaru.Commands.Image;
using System;
using System.Collections.Generic;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using System.Linq;
using System.Text;
using Aaru.CommonTypes;

View File

@@ -35,7 +35,7 @@ namespace Aaru.Commands.Image;
using System;
using System.Collections.Generic;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using System.IO;
using System.Linq;
using System.Text;
@@ -59,192 +59,91 @@ sealed class ConvertImageCommand : Command
{
public ConvertImageCommand() : base("convert", "Converts one image to another format.")
{
Add(new Option(new[]
{
"--cicm-xml", "-x"
}, "Take metadata from existing CICM XML sidecar.")
{
Argument = new Argument<string>(() => null),
Required = false
});
Add(new Option("--comments", "Image comments.")
Add(new Option<string>(new[]
{
Argument = new Argument<string>(() => null),
Required = false
});
"--cicm-xml", "-x"
}, () => null, "Take metadata from existing CICM XML sidecar."));
Add(new Option(new[]
{
"--count", "-c"
}, "How many sectors to convert at once.")
{
Argument = new Argument<int>(() => 64),
Required = false
});
Add(new Option<string>("--comments", () => null, "Image comments."));
Add(new Option("--creator", "Who (person) created the image?.")
Add(new Option<int>(new[]
{
Argument = new Argument<string>(() => null),
Required = false
});
"--count", "-c"
}, () => 64, "How many sectors to convert at once."));
Add(new Option("--drive-manufacturer",
"Manufacturer of the drive used to read the media represented by the image.")
Add(new Option<string>("--creator", () => null, "Who (person) created the image?."));
Add(new Option<string>("--drive-manufacturer", () => null,
"Manufacturer of the drive used to read the media represented by the image."));
Add(new Option<string>("--drive-model", () => null,
"Model of the drive used to read the media represented by the image."));
Add(new Option<string>("--drive-revision", () => null,
"Firmware revision of the drive used to read the media represented by the image."));
Add(new Option<string>("--drive-serial", () => null,
"Serial number of the drive used to read the media represented by the image."));
Add(new Option<bool>(new[]
{
Argument = new Argument<string>(() => null),
Required = false
});
"--force", "-f"
}, "Continue conversion even if sector or media tags will be lost in the process."));
Add(new Option("--drive-model", "Model of the drive used to read the media represented by the image.")
Add(new Option<string>(new[]
{
"--format", "-p"
}, () => null,
"Format of the output image, as plugin name or plugin id. If not present, will try to detect it from output image extension."));
Add(new Option<string>("--media-barcode", () => null, "Barcode of the media represented by the image."));
Add(new Option<int>("--media-lastsequence", () => 0,
"Last media of the sequence the media represented by the image corresponds to."));
Add(new Option<string>("--media-manufacturer", () => null,
"Manufacturer of the media represented by the image."));
Add(new Option<string>("--media-model", () => null, "Model of the media represented by the image."));
Add(new Option<string>("--media-partnumber", () => null, "Part number of the media represented by the image."));
Add(new Option<int>("--media-sequence", () => 0, "Number in sequence for the media represented by the image."));
Add(new Option<string>("--media-serial", () => null, "Serial number of the media represented by the image."));
Add(new Option<string>("--media-title", () => null, "Title of the media represented by the image."));
Add(new Option<string>(new[]
{
Argument = new Argument<string>(() => null),
Required = false
});
"--options", "-O"
}, () => null, "Comma separated name=value pairs of options to pass to output image plugin."));
Add(new Option("--drive-revision",
"Firmware revision of the drive used to read the media represented by the image.")
Add(new Option<string>(new[]
{
Argument = new Argument<string>(() => null),
Required = false
});
"--resume-file", "-r"
}, () => null, "Take list of dump hardware from existing resume file."));
Add(new Option("--drive-serial", "Serial number of the drive used to read the media represented by the image.")
Add(new Option<string>(new[]
{
Argument = new Argument<string>(() => null),
Required = false
});
"--geometry", "-g"
}, () => null, "Force geometry, only supported in not tape block media. Specify as C/H/S."));
Add(new Option(new[]
{
"--force", "-f"
}, "Continue conversion even if sector or media tags will be lost in the process.")
{
Argument = new Argument<bool>(() => false),
Required = false
});
Add(new Option(new[]
{
"--format", "-p"
},
"Format of the output image, as plugin name or plugin id. If not present, will try to detect it from output image extension.")
Add(new Option<bool>(new[]
{
Argument = new Argument<string>(() => null),
Required = false
});
"--fix-subchannel-position"
}, () => true, "Store subchannel according to the sector they describe."));
Add(new Option("--media-barcode", "Barcode of the media represented by the image.")
Add(new Option<bool>(new[]
{
Argument = new Argument<string>(() => null),
Required = false
});
"--fix-subchannel"
}, () => false, "Try to fix subchannel. Implies fixing subchannel position."));
Add(new Option("--media-lastsequence",
"Last media of the sequence the media represented by the image corresponds to.")
Add(new Option<bool>(new[]
{
Argument = new Argument<int>(() => 0),
Required = false
});
"--fix-subchannel-crc"
}, () => false, "If subchannel looks OK but CRC fails, rewrite it. Implies fixing subchannel."));
Add(new Option("--media-manufacturer", "Manufacturer of the media represented by the image.")
Add(new Option<bool>(new[]
{
Argument = new Argument<string>(() => null),
Required = false
});
Add(new Option("--media-model", "Model of the media represented by the image.")
{
Argument = new Argument<string>(() => null),
Required = false
});
Add(new Option("--media-partnumber", "Part number of the media represented by the image.")
{
Argument = new Argument<string>(() => null),
Required = false
});
Add(new Option("--media-sequence", "Number in sequence for the media represented by the image.")
{
Argument = new Argument<int>(() => 0),
Required = false
});
Add(new Option("--media-serial", "Serial number of the media represented by the image.")
{
Argument = new Argument<string>(() => null),
Required = false
});
Add(new Option("--media-title", "Title of the media represented by the image.")
{
Argument = new Argument<string>(() => null),
Required = false
});
Add(new Option(new[]
{
"--options", "-O"
}, "Comma separated name=value pairs of options to pass to output image plugin.")
{
Argument = new Argument<string>(() => null),
Required = false
});
Add(new Option(new[]
{
"--resume-file", "-r"
}, "Take list of dump hardware from existing resume file.")
{
Argument = new Argument<string>(() => null),
Required = false
});
Add(new Option(new[]
{
"--geometry", "-g"
}, "Force geometry, only supported in not tape block media. Specify as C/H/S.")
{
Argument = new Argument<string>(() => null),
Required = false
});
Add(new Option(new[]
{
"--fix-subchannel-position"
}, "Store subchannel according to the sector they describe.")
{
Argument = new Argument<bool>(() => true),
Required = false
});
Add(new Option(new[]
{
"--fix-subchannel"
}, "Try to fix subchannel. Implies fixing subchannel position.")
{
Argument = new Argument<bool>(() => false),
Required = false
});
Add(new Option(new[]
{
"--fix-subchannel-crc"
}, "If subchannel looks OK but CRC fails, rewrite it. Implies fixing subchannel.")
{
Argument = new Argument<bool>(() => false),
Required = false
});
Add(new Option(new[]
{
"--generate-subchannels"
}, "Generates missing subchannels.")
{
Argument = new Argument<bool>(() => false),
Required = false
});
"--generate-subchannels"
}, () => false, "Generates missing subchannels."));
AddArgument(new Argument<string>
{

View File

@@ -34,7 +34,7 @@ namespace Aaru.Commands.Image;
using System;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using System.IO;
using System.Linq;
using System.Text;
@@ -55,34 +55,22 @@ sealed class CreateSidecarCommand : Command
public CreateSidecarCommand() : base("create-sidecar", "Creates CICM Metadata XML sidecar.")
{
Add(new Option(new[]
{
"--block-size", "-b"
},
"Only used for tapes, indicates block size. Files in the folder whose size is not a multiple of this value will simply be ignored.")
{
Argument = new Argument<int>(() => 512),
Required = false
});
Add(new Option<int>(new[]
{
"--block-size", "-b"
}, () => 512,
"Only used for tapes, indicates block size. Files in the folder whose size is not a multiple of this value will simply be ignored."));
Add(new Option(new[]
{
"--encoding", "-e"
}, "Name of character encoding to use.")
{
Argument = new Argument<string>(() => null),
Required = false
});
Add(new Option(new[]
{
"--tape", "-t"
},
"When used indicates that input is a folder containing alphabetically sorted files extracted from a linear block-based tape with fixed block size (e.g. a SCSI tape device).")
Add(new Option<string>(new[]
{
Argument = new Argument<bool>(() => false),
Required = false
});
"--encoding", "-e"
}, () => null, "Name of character encoding to use."));
Add(new Option<bool>(new[]
{
"--tape", "-t"
}, () => false,
"When used indicates that input is a folder containing alphabetically sorted files extracted from a linear block-based tape with fixed block size (e.g. a SCSI tape device)."));
AddArgument(new Argument<string>
{

View File

@@ -34,7 +34,7 @@ namespace Aaru.Commands.Image;
using System;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using Aaru.CommonTypes;
using Aaru.CommonTypes.Enums;
using Aaru.CommonTypes.Interfaces;
@@ -49,41 +49,25 @@ sealed class DecodeCommand : Command
{
public DecodeCommand() : base("decode", "Decodes and pretty prints disk and/or sector tags.")
{
Add(new Option(new[]
{
"--disk-tags", "-f"
}, "Decode disk tags.")
{
Argument = new Argument<bool>(() => true),
Required = false
});
Add(new Option<bool>(new[]
{
"--disk-tags", "-f"
}, () => true, "Decode disk tags."));
Add(new Option(new[]
{
"--length", "-l"
}, "How many sectors to decode, or \"all\".")
{
Argument = new Argument<string>(() => "all"),
Required = false
});
Add(new Option<string>(new[]
{
"--length", "-l"
}, () => "all", "How many sectors to decode, or \"all\"."));
Add(new Option(new[]
{
"--sector-tags", "-p"
}, "Decode sector tags.")
{
Argument = new Argument<bool>(() => true),
Required = false
});
Add(new Option<bool>(new[]
{
"--sector-tags", "-p"
}, () => true, "Decode sector tags."));
Add(new Option(new[]
{
"--start", "-s"
}, "Sector to start decoding from.")
{
Argument = new Argument<ulong>(() => 0),
Required = false
});
Add(new Option<ulong>(new[]
{
"--start", "-s"
}, () => 0, "Sector to start decoding from."));
AddArgument(new Argument<string>
{

View File

@@ -34,7 +34,7 @@ namespace Aaru.Commands.Image;
using System;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using Aaru.CommonTypes;
using Aaru.CommonTypes.Enums;
using Aaru.CommonTypes.Interfaces;
@@ -49,32 +49,20 @@ sealed class EntropyCommand : Command
public EntropyCommand() : base("entropy", "Calculates entropy and/or duplicated sectors of an image.")
{
Add(new Option(new[]
{
"--duplicated-sectors", "-p"
}, "Calculates how many sectors are duplicated (have same exact data in user area).")
{
Argument = new Argument<bool>(() => true),
Required = false
});
Add(new Option<bool>(new[]
{
"--duplicated-sectors", "-p"
}, () => true, "Calculates how many sectors are duplicated (have same exact data in user area)."));
Add(new Option(new[]
{
"--separated-tracks", "-t"
}, "Calculates entropy for each track separately.")
{
Argument = new Argument<bool>(() => true),
Required = false
});
Add(new Option<bool>(new[]
{
"--separated-tracks", "-t"
}, () => true, "Calculates entropy for each track separately."));
Add(new Option(new[]
{
"--whole-disc", "-w"
}, "Calculates entropy for the whole disc.")
{
Argument = new Argument<bool>(() => true),
Required = false
});
Add(new Option<bool>(new[]
{
"--whole-disc", "-w"
}, () => true, "Calculates entropy for the whole disc."));
AddArgument(new Argument<string>
{

View File

@@ -34,7 +34,7 @@ namespace Aaru.Commands.Image;
using System;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using Aaru.CommonTypes;
using Aaru.CommonTypes.Enums;
using Aaru.CommonTypes.Interfaces;

View File

@@ -35,7 +35,7 @@ namespace Aaru.Commands.Image;
using System;
using System.Collections.Generic;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using System.Linq;
using Aaru.CommonTypes;
using Aaru.CommonTypes.Enums;

View File

@@ -34,7 +34,7 @@ namespace Aaru.Commands.Image;
using System;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using Aaru.CommonTypes;
using Aaru.CommonTypes.Enums;
using Aaru.CommonTypes.Interfaces;
@@ -47,41 +47,25 @@ sealed class PrintHexCommand : Command
{
public PrintHexCommand() : base("print", "Prints a sector, in hexadecimal values, to the console.")
{
Add(new Option(new[]
{
"--length", "-l"
}, "How many sectors to print.")
{
Argument = new Argument<ulong>(() => 1),
Required = false
});
Add(new Option<ulong>(new[]
{
"--length", "-l"
}, () => 1, "How many sectors to print."));
Add(new Option(new[]
{
"--long-sectors", "-r"
}, "Print sectors with tags included.")
{
Argument = new Argument<bool>(() => false),
Required = false
});
Add(new Option<bool>(new[]
{
"--long-sectors", "-r"
}, () => false, "Print sectors with tags included."));
Add(new Option(new[]
{
"--start", "-s"
}, "Starting sector.")
{
Argument = new Argument<ulong>(),
Required = true
});
Add(new Option<ulong>(new[]
{
"--start", "-s"
}, "Starting sector."));
Add(new Option(new[]
{
"--width", "-w"
}, "How many bytes to print per line.")
{
Argument = new Argument<ushort>(() => 32),
Required = false
});
Add(new Option<ushort>(new[]
{
"--width", "-w"
}, () => 32, "How many bytes to print per line."));
AddArgument(new Argument<string>
{

View File

@@ -35,7 +35,7 @@ namespace Aaru.Commands.Image;
using System;
using System.Collections.Generic;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using Aaru.CommonTypes;
using Aaru.CommonTypes.Enums;
using Aaru.CommonTypes.Interfaces;
@@ -48,23 +48,15 @@ sealed class VerifyCommand : Command
{
public VerifyCommand() : base("verify", "Verifies a disc image integrity, and if supported, sector integrity.")
{
Add(new Option(new[]
{
"--verify-disc", "-w"
}, "Verify disc image if supported.")
{
Argument = new Argument<bool>(() => true),
Required = false
});
Add(new Option<bool>(new[]
{
"--verify-disc", "-w"
}, () => true, "Verify disc image if supported."));
Add(new Option(new[]
{
"--verify-sectors", "-s"
}, "Verify all sectors if supported.")
{
Argument = new Argument<bool>(() => true),
Required = false
});
Add(new Option<bool>(new[]
{
"--verify-sectors", "-s"
}, () => true, "Verify all sectors if supported."));
AddArgument(new Argument<string>
{

View File

@@ -34,7 +34,7 @@ namespace Aaru.Commands;
using System;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using System.Linq;
using System.Text;
using Aaru.CommonTypes.Enums;

View File

@@ -35,7 +35,7 @@ namespace Aaru.Commands;
using System;
using System.Collections.Generic;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using System.Linq;
using Aaru.CommonTypes;
using Aaru.CommonTypes.Enums;

View File

@@ -36,7 +36,7 @@ namespace Aaru.Commands.Media;
using System;
using System.Collections.Generic;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using System.IO;
using System.Linq;
using System.Text;
@@ -64,130 +64,67 @@ sealed class DumpMediaCommand : Command
public DumpMediaCommand() : base("dump", "Dumps the media inserted on a device to a media image.")
{
Add(new Option(new[]
{
"--cicm-xml", "-x"
}, "Take metadata from existing CICM XML sidecar.")
{
Argument = new Argument<string>(() => null),
Required = false
});
Add(new Option(new[]
{
"--encoding", "-e"
}, "Name of character encoding to use.")
{
Argument = new Argument<string>(() => null),
Required = false
});
Add(new Option("--first-pregap", "Try to read first track pregap. Only applicable to CD/DDCD/GD.")
Add(new Option<string>(new[]
{
Argument = new Argument<bool>(() => false),
Required = false
});
"--cicm-xml", "-x"
}, () => null, "Take metadata from existing CICM XML sidecar."));
Add(new Option("--fix-offset", "Fix audio tracks offset. Only applicable to CD/GD.")
Add(new Option<string>(new[]
{
Argument = new Argument<bool>(() => true),
Required = false
});
"--encoding", "-e"
}, () => null, "Name of character encoding to use."));
Add(new Option(new[]
{
"--force", "-f"
}, "Continue dump whatever happens.")
{
Argument = new Argument<bool>(() => false),
Required = false
});
Add(new Option<bool>("--first-pregap", () => false,
"Try to read first track pregap. Only applicable to CD/DDCD/GD."));
Add(new Option(new[]
{
"--format", "-t"
},
"Format of the output image, as plugin name or plugin id. If not present, will try to detect it from output image extension.")
Add(new Option<bool>("--fix-offset", () => true, "Fix audio tracks offset. Only applicable to CD/GD."));
Add(new Option<bool>(new[]
{
Argument = new Argument<string>(() => null),
Required = false
});
"--force", "-f"
}, () => false, "Continue dump whatever happens."));
Add(new Option("--metadata", "Enables creating CICM XML sidecar.")
Add(new Option<string>(new[]
{
"--format", "-t"
}, () => null,
"Format of the output image, as plugin name or plugin id. If not present, will try to detect it from output image extension."));
Add(new Option<bool>("--metadata", () => true, "Enables creating CICM XML sidecar."));
Add(new Option<bool>("--trim", () => true, "Enables trimming errored from skipped sectors."));
Add(new Option<string>(new[]
{
Argument = new Argument<bool>(() => true),
Required = false
});
"--options", "-O"
}, () => null, "Comma separated name=value pairs of options to pass to output image plugin."));
Add(new Option("--trim", "Enables trimming errored from skipped sectors.")
Add(new Option<bool>("--persistent", () => false, "Try to recover partial or incorrect data."));
Add(new Option<bool>(new[]
{
Argument = new Argument<bool>(() => true),
Required = false
});
"--resume", "-r"
}, () => true, "Create/use resume mapfile."));
Add(new Option(new[]
{
"--options", "-O"
}, "Comma separated name=value pairs of options to pass to output image plugin.")
{
Argument = new Argument<string>(() => null),
Required = false
});
Add(new Option("--persistent", "Try to recover partial or incorrect data.")
Add(new Option<ushort>(new[]
{
Argument = new Argument<bool>(() => false),
Required = false
});
"--retry-passes", "-p"
}, () => 5, "How many retry passes to do."));
Add(new Option(new[]
{
"--resume", "-r"
}, "Create/use resume mapfile.")
{
Argument = new Argument<bool>(() => true),
Required = false
});
Add(new Option(new[]
{
"--retry-passes", "-p"
}, "How many retry passes to do.")
{
Argument = new Argument<ushort>(() => 5),
Required = false
});
Add(new Option(new[]
{
"--skip", "-k"
}, "When an unreadable sector is found skip this many sectors.")
{
Argument = new Argument<uint>(() => 512),
Required = false
});
Add(new Option(new[]
{
"--stop-on-error", "-s"
}, "Stop media dump on first error.")
{
Argument = new Argument<bool>(() => false),
Required = false
});
Add(new Option("--subchannel",
"Subchannel to dump. Only applicable to CD/GD. Values: any, rw, rw-or-pq, pq, none.")
Add(new Option<uint>(new[]
{
Argument = new Argument<string>(() => "any"),
Required = false
});
"--skip", "-k"
}, () => 512, "When an unreadable sector is found skip this many sectors."));
Add(new Option("--speed", "Speed to dump. Only applicable to optical drives, 0 for maximum.")
Add(new Option<bool>(new[]
{
Argument = new Argument<byte>(() => 0),
Required = false
});
"--stop-on-error", "-s"
}, () => false, "Stop media dump on first error."));
Add(new Option<string>("--subchannel", () => "any",
"Subchannel to dump. Only applicable to CD/GD. Values: any, rw, rw-or-pq, pq, none."));
Add(new Option<byte>("--speed", () => 0, "Speed to dump. Only applicable to optical drives, 0 for maximum."));
AddArgument(new Argument<string>
{
@@ -204,113 +141,65 @@ sealed class DumpMediaCommand : Command
Name = "output-path"
});
Add(new Option(new[]
{
"--private"
}, "Do not store paths and serial numbers in log or metadata.")
{
Argument = new Argument<bool>(() => false),
Required = false
});
Add(new Option<bool>(new[]
{
"--private"
}, () => false, "Do not store paths and serial numbers in log or metadata."));
Add(new Option(new[]
{
"--fix-subchannel-position"
}, "Store subchannel according to the sector they describe.")
{
Argument = new Argument<bool>(() => true),
Required = false
});
Add(new Option<bool>(new[]
{
"--fix-subchannel-position"
}, () => true, "Store subchannel according to the sector they describe."));
Add(new Option(new[]
{
"--retry-subchannel"
}, "Retry subchannel. Implies fixing subchannel position.")
{
Argument = new Argument<bool>(() => true),
Required = false
});
Add(new Option<bool>(new[]
{
"--retry-subchannel"
}, () => true, "Retry subchannel. Implies fixing subchannel position."));
Add(new Option(new[]
{
"--fix-subchannel"
}, "Try to fix subchannel. Implies fixing subchannel position.")
{
Argument = new Argument<bool>(() => false),
Required = false
});
Add(new Option<bool>(new[]
{
"--fix-subchannel"
}, () => false, "Try to fix subchannel. Implies fixing subchannel position."));
Add(new Option(new[]
{
"--fix-subchannel-crc"
}, "If subchannel looks OK but CRC fails, rewrite it. Implies fixing subchannel.")
{
Argument = new Argument<bool>(() => false),
Required = false
});
Add(new Option<bool>(new[]
{
"--fix-subchannel-crc"
}, () => false, "If subchannel looks OK but CRC fails, rewrite it. Implies fixing subchannel."));
Add(new Option(new[]
{
"--generate-subchannels"
}, "Generates missing subchannels (they don't count as dumped in resume file).")
{
Argument = new Argument<bool>(() => false),
Required = false
});
Add(new Option<bool>(new[]
{
"--generate-subchannels"
}, () => false, "Generates missing subchannels (they don't count as dumped in resume file)."));
Add(new Option(new[]
{
"--skip-cdiready-hole"
}, "Skip the hole between data and audio in a CD-i Ready disc.")
{
Argument = new Argument<bool>(() => true),
Required = false
});
Add(new Option<bool>(new[]
{
"--skip-cdiready-hole"
}, () => true, "Skip the hole between data and audio in a CD-i Ready disc."));
Add(new Option(new[]
{
"--eject"
}, "Eject media after dump finishes.")
{
Argument = new Argument<bool>(() => false),
Required = false
});
Add(new Option<bool>(new[]
{
"--eject"
}, () => false, "Eject media after dump finishes."));
Add(new Option(new[]
{
"--max-blocks"
}, "Maximum number of blocks to read at once.")
{
Argument = new Argument<uint>(() => 64),
Required = false
});
Add(new Option<uint>(new[]
{
"--max-blocks"
}, () => 64, "Maximum number of blocks to read at once."));
Add(new Option(new[]
{
"--use-buffered-reads"
}, "For MMC/SD, use OS buffered reads if CMD23 is not supported.")
{
Argument = new Argument<bool>(() => true),
Required = false
});
Add(new Option<bool>(new[]
{
"--use-buffered-reads"
}, () => true, "For MMC/SD, use OS buffered reads if CMD23 is not supported."));
Add(new Option(new[]
{
"--store-encrypted"
}, "Store encrypted data as is.")
{
Argument = new Argument<bool>(() => true),
Required = false
});
Add(new Option<bool>(new[]
{
"--store-encrypted"
}, () => true, "Store encrypted data as is."));
Add(new Option(new[]
{
"--title-keys"
}, "Try to read the title keys from CSS encrypted DVDs (very slow).")
{
Argument = new Argument<bool>(() => true),
Required = false
});
Add(new Option<bool>(new[]
{
"--title-keys"
}, () => true, "Try to read the title keys from CSS encrypted DVDs (very slow)."));
Handler = CommandHandler.Create(GetType().GetMethod(nameof(Invoke)));
}

View File

@@ -35,7 +35,7 @@ namespace Aaru.Commands.Media;
using System;
using System.Collections.Generic;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using System.Linq;
using Aaru.CommonTypes.Enums;
using Aaru.CommonTypes.Structs;
@@ -67,14 +67,10 @@ sealed class MediaInfoCommand : Command
{
public MediaInfoCommand() : base("info", "Gets information about the media inserted on a device.")
{
Add(new Option(new[]
{
"--output-prefix", "-w"
}, "Write binary responses from device with that prefix.")
{
Argument = new Argument<string>(() => null),
Required = false
});
Add(new Option<string>(new[]
{
"--output-prefix", "-w"
}, () => null, "Write binary responses from device with that prefix."));
AddArgument(new Argument<string>
{

View File

@@ -34,7 +34,7 @@ namespace Aaru.Commands.Media;
using System;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using Aaru.CommonTypes.Enums;
using Aaru.Console;
using Aaru.Core;
@@ -48,32 +48,20 @@ sealed class MediaScanCommand : Command
public MediaScanCommand() : base("scan", "Scans the media inserted on a device.")
{
Add(new Option(new[]
{
"--mhdd-log", "-m"
}, "Write a log of the scan in the format used by MHDD.")
{
Argument = new Argument<string>(() => null),
Required = false
});
Add(new Option<string>(new[]
{
"--mhdd-log", "-m"
}, () => null, "Write a log of the scan in the format used by MHDD."));
Add(new Option(new[]
{
"--ibg-log", "-b"
}, "Write a log of the scan in the format used by ImgBurn.")
{
Argument = new Argument<string>(() => null),
Required = false
});
Add(new Option<string>(new[]
{
"--ibg-log", "-b"
}, () => null, "Write a log of the scan in the format used by ImgBurn."));
Add(new Option(new[]
{
"--use-buffered-reads"
}, "For MMC/SD, use OS buffered reads if CMD23 is not supported.")
{
Argument = new Argument<bool>(() => true),
Required = false
});
Add(new Option<bool>(new[]
{
"--use-buffered-reads"
}, () => true, "For MMC/SD, use OS buffered reads if CMD23 is not supported."));
AddArgument(new Argument<string>
{

View File

@@ -36,7 +36,7 @@ namespace Aaru.Commands;
using System;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.NamingConventionBinder;
using Aaru.CommonTypes.Enums;
using Aaru.Console;
using Aaru.Core;

View File

@@ -201,29 +201,22 @@ class MainClass
var rootCommand = new RootCommand();
rootCommand.AddGlobalOption(new Option(new[]
{
"--verbose", "-v"
}, "Shows verbose output.")
{
Argument = new Argument<bool>(() => false)
});
rootCommand.AddGlobalOption(new Option<bool>(new[]
{
"--verbose", "-v"
}, () => false, "Shows verbose output."));
rootCommand.AddGlobalOption(new Option(new[]
{
"--debug", "-d"
}, "Shows debug output from plugins.")
{
Argument = new Argument<bool>(() => false)
});
rootCommand.AddGlobalOption(new Option<bool>(new[]
{
"--debug", "-d"
}, () => false, "Shows debug output from plugins."));
rootCommand.AddGlobalOption(new Option(new[]
{
"--pause"
}, "Pauses before exiting.")
{
Argument = new Argument<bool>(() => false)
});
var pauseOption = new Option<bool>(new[]
{
"--pause"
}, () => false, "Pauses before exiting.");
rootCommand.AddGlobalOption(pauseOption);
rootCommand.Description = $"{_assemblyTitle} {_assemblyVersion?.InformationalVersion}\n{_assemblyCopyright}";
@@ -244,7 +237,7 @@ class MainClass
Statistics.SaveStats();
if(rootCommand.Parse(args).RootCommandResult.ValueForOption("--pause")?.Equals(true) != true)
if(!rootCommand.Parse(args).RootCommandResult.GetValueForOption(pauseOption))
return ret;
AaruConsole.WriteLine("Press any key to exit.");