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";
}
///