From 8ea8dcde19b7879c28e276db9a2dd2829738826a Mon Sep 17 00:00:00 2001 From: vpenades <5433822+vpenades@users.noreply.github.com> Date: Mon, 13 Jun 2022 13:34:21 +0200 Subject: [PATCH] Added Archive Name --- src/SharpCompress/Archives/ArchiveFactory.cs | 4 +--- src/SharpCompress/Archives/GZip/GZipArchiveFactory.cs | 7 +++++-- src/SharpCompress/Archives/IArchiveFactory.cs | 7 ++++++- src/SharpCompress/Archives/Rar/RarArchiveFactory.cs | 9 ++++++--- .../Archives/SevenZip/SevenZipArchiveFactory.cs | 7 +++++-- src/SharpCompress/Archives/Tar/TarArchiveFactory.cs | 7 +++++-- src/SharpCompress/Archives/Zip/ZipArchiveFactory.cs | 11 +++++++---- 7 files changed, 35 insertions(+), 17 deletions(-) diff --git a/src/SharpCompress/Archives/ArchiveFactory.cs b/src/SharpCompress/Archives/ArchiveFactory.cs index b697c17c..f9e304ad 100644 --- a/src/SharpCompress/Archives/ArchiveFactory.cs +++ b/src/SharpCompress/Archives/ArchiveFactory.cs @@ -76,9 +76,7 @@ namespace SharpCompress.Archives } var extensions = Factories - .SelectMany(item => item.GetSupportedExtensions()) - .Select(item => item.Key) - .Distinct() + .Select(item => item.Name) .Aggregate((a,b) => a + ", " + b ); throw new InvalidOperationException($"Cannot determine compressed stream type. Supported Archive Formats: {extensions}"); diff --git a/src/SharpCompress/Archives/GZip/GZipArchiveFactory.cs b/src/SharpCompress/Archives/GZip/GZipArchiveFactory.cs index d3f52ce0..d4faa639 100644 --- a/src/SharpCompress/Archives/GZip/GZipArchiveFactory.cs +++ b/src/SharpCompress/Archives/GZip/GZipArchiveFactory.cs @@ -10,9 +10,12 @@ namespace SharpCompress.Archives.GZip public class GZipArchiveFactory : IArchiveFactory { /// - public IEnumerable> GetSupportedExtensions() + public string Name => "GZip"; + + /// + public IEnumerable GetSupportedExtensions() { - yield return new KeyValuePair("GZip", "gz"); + yield return "gz"; } /// diff --git a/src/SharpCompress/Archives/IArchiveFactory.cs b/src/SharpCompress/Archives/IArchiveFactory.cs index a9d55e32..ea3f5bb7 100644 --- a/src/SharpCompress/Archives/IArchiveFactory.cs +++ b/src/SharpCompress/Archives/IArchiveFactory.cs @@ -22,11 +22,16 @@ namespace SharpCompress.Archives /// public interface IArchiveFactory { + /// + /// Gets the archive Type name + /// + string Name { get; } + /// /// returns the extensions typically used by this archive type. /// /// - IEnumerable> GetSupportedExtensions(); + IEnumerable GetSupportedExtensions(); /// /// Returns true if the stream represents an archive of the format defined by this type. diff --git a/src/SharpCompress/Archives/Rar/RarArchiveFactory.cs b/src/SharpCompress/Archives/Rar/RarArchiveFactory.cs index b374a64b..bc13bd94 100644 --- a/src/SharpCompress/Archives/Rar/RarArchiveFactory.cs +++ b/src/SharpCompress/Archives/Rar/RarArchiveFactory.cs @@ -10,10 +10,13 @@ namespace SharpCompress.Archives.Rar public class RarArchiveFactory : IArchiveFactory { /// - public IEnumerable> GetSupportedExtensions() + public string Name => "Rar"; + + /// + public IEnumerable GetSupportedExtensions() { - yield return new KeyValuePair("Rar", "rar"); - yield return new KeyValuePair("Rar", "cbr"); + yield return "rar"; + yield return "cbr"; } /// diff --git a/src/SharpCompress/Archives/SevenZip/SevenZipArchiveFactory.cs b/src/SharpCompress/Archives/SevenZip/SevenZipArchiveFactory.cs index 11fa673f..923c7810 100644 --- a/src/SharpCompress/Archives/SevenZip/SevenZipArchiveFactory.cs +++ b/src/SharpCompress/Archives/SevenZip/SevenZipArchiveFactory.cs @@ -10,9 +10,12 @@ namespace SharpCompress.Archives.SevenZip public class SevenZipArchiveFactory : IArchiveFactory { /// - public IEnumerable> GetSupportedExtensions() + public string Name => "7Zip"; + + /// + public IEnumerable GetSupportedExtensions() { - yield return new KeyValuePair("7Zip", "7z"); + yield return "7z"; } /// diff --git a/src/SharpCompress/Archives/Tar/TarArchiveFactory.cs b/src/SharpCompress/Archives/Tar/TarArchiveFactory.cs index 1c7fc599..8a67a5f3 100644 --- a/src/SharpCompress/Archives/Tar/TarArchiveFactory.cs +++ b/src/SharpCompress/Archives/Tar/TarArchiveFactory.cs @@ -10,9 +10,12 @@ namespace SharpCompress.Archives.Tar public class TarArchiveFactory : IArchiveFactory { /// - public IEnumerable> GetSupportedExtensions() + public string Name => "Tar"; + + /// + public IEnumerable GetSupportedExtensions() { - yield return new KeyValuePair("Tar", "tar"); + yield return "tar"; } /// diff --git a/src/SharpCompress/Archives/Zip/ZipArchiveFactory.cs b/src/SharpCompress/Archives/Zip/ZipArchiveFactory.cs index d91c6a6a..eade3e5e 100644 --- a/src/SharpCompress/Archives/Zip/ZipArchiveFactory.cs +++ b/src/SharpCompress/Archives/Zip/ZipArchiveFactory.cs @@ -10,11 +10,14 @@ namespace SharpCompress.Archives.Zip public class ZipArchiveFactory : IArchiveFactory { /// - public IEnumerable> GetSupportedExtensions() + public string Name => "Zip"; + + /// + public IEnumerable GetSupportedExtensions() { - yield return new KeyValuePair("Zip", "zip"); - yield return new KeyValuePair("Zip", "zipx"); - yield return new KeyValuePair("Zip", "cbz"); + yield return "zip"; + yield return "zipx"; + yield return "cbz"; } ///