refactor: Decompose suffix addition and removal
This commit is contained in:
+35
-26
@@ -309,32 +309,9 @@ func archive(
|
|||||||
hdr.PAXRecords[pax.STFSRecordUncompressedSize] = strconv.Itoa(int(hdr.Size))
|
hdr.PAXRecords[pax.STFSRecordUncompressedSize] = strconv.Itoa(int(hdr.Size))
|
||||||
hdr.Size = int64(fileSizeCounter.BytesRead)
|
hdr.Size = int64(fileSizeCounter.BytesRead)
|
||||||
|
|
||||||
switch compressionFormat {
|
hdr.Name, err = addSuffix(hdr.Name, compressionFormat, encryptionFormat)
|
||||||
case compressionFormatGZipKey:
|
if err != nil {
|
||||||
fallthrough
|
return err
|
||||||
case compressionFormatParallelGZipKey:
|
|
||||||
hdr.Name += compressionFormatGZipSuffix
|
|
||||||
case compressionFormatLZ4Key:
|
|
||||||
hdr.Name += compressionFormatLZ4Suffix
|
|
||||||
case compressionFormatZStandardKey:
|
|
||||||
hdr.Name += compressionFormatZStandardSuffix
|
|
||||||
case compressionFormatBrotliKey:
|
|
||||||
hdr.Name += compressionFormatBrotliSuffix
|
|
||||||
case compressionFormatBzip2Key:
|
|
||||||
fallthrough
|
|
||||||
case compressionFormatBzip2ParallelKey:
|
|
||||||
hdr.Name += compressionFormatBzip2Suffix
|
|
||||||
case compressionFormatNoneKey:
|
|
||||||
default:
|
|
||||||
return errUnsupportedCompressionFormat
|
|
||||||
}
|
|
||||||
|
|
||||||
switch encryptionFormat {
|
|
||||||
case encryptionFormatAgeKey:
|
|
||||||
hdr.Name += encryptionFormatAgeSuffix
|
|
||||||
case compressionFormatNoneKey:
|
|
||||||
default:
|
|
||||||
return errUnsupportedEncryptionFormat
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -429,6 +406,38 @@ func checkCompressionLevel(compressionLevel string) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func addSuffix(name string, compressionFormat string, encryptionFormat string) (string, error) {
|
||||||
|
switch compressionFormat {
|
||||||
|
case compressionFormatGZipKey:
|
||||||
|
fallthrough
|
||||||
|
case compressionFormatParallelGZipKey:
|
||||||
|
name += compressionFormatGZipSuffix
|
||||||
|
case compressionFormatLZ4Key:
|
||||||
|
name += compressionFormatLZ4Suffix
|
||||||
|
case compressionFormatZStandardKey:
|
||||||
|
name += compressionFormatZStandardSuffix
|
||||||
|
case compressionFormatBrotliKey:
|
||||||
|
name += compressionFormatBrotliSuffix
|
||||||
|
case compressionFormatBzip2Key:
|
||||||
|
fallthrough
|
||||||
|
case compressionFormatBzip2ParallelKey:
|
||||||
|
name += compressionFormatBzip2Suffix
|
||||||
|
case compressionFormatNoneKey:
|
||||||
|
default:
|
||||||
|
return "", errUnsupportedCompressionFormat
|
||||||
|
}
|
||||||
|
|
||||||
|
switch encryptionFormat {
|
||||||
|
case encryptionFormatAgeKey:
|
||||||
|
name += encryptionFormatAgeSuffix
|
||||||
|
case compressionFormatNoneKey:
|
||||||
|
default:
|
||||||
|
return "", errUnsupportedEncryptionFormat
|
||||||
|
}
|
||||||
|
|
||||||
|
return name, nil
|
||||||
|
}
|
||||||
|
|
||||||
func encrypt(
|
func encrypt(
|
||||||
dst io.Writer,
|
dst io.Writer,
|
||||||
encryptionFormat string,
|
encryptionFormat string,
|
||||||
|
|||||||
@@ -278,33 +278,11 @@ func indexHeader(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if hdr.FileInfo().Mode().IsRegular() {
|
if hdr.FileInfo().Mode().IsRegular() {
|
||||||
switch encryptionFormat {
|
newName, err := removeSuffix(hdr.Name, compressionFormat, encryptionFormat)
|
||||||
case encryptionFormatAgeKey:
|
if err != nil {
|
||||||
hdr.Name = strings.TrimSuffix(hdr.Name, encryptionFormatAgeSuffix)
|
return err
|
||||||
case encryptionFormatNoneKey:
|
|
||||||
default:
|
|
||||||
return errUnsupportedEncryptionFormat
|
|
||||||
}
|
|
||||||
|
|
||||||
switch compressionFormat {
|
|
||||||
case compressionFormatGZipKey:
|
|
||||||
fallthrough
|
|
||||||
case compressionFormatParallelGZipKey:
|
|
||||||
hdr.Name = strings.TrimSuffix(hdr.Name, compressionFormatGZipSuffix)
|
|
||||||
case compressionFormatLZ4Key:
|
|
||||||
hdr.Name = strings.TrimSuffix(hdr.Name, compressionFormatLZ4Suffix)
|
|
||||||
case compressionFormatZStandardKey:
|
|
||||||
hdr.Name = strings.TrimSuffix(hdr.Name, compressionFormatZStandardSuffix)
|
|
||||||
case compressionFormatBrotliKey:
|
|
||||||
hdr.Name = strings.TrimSuffix(hdr.Name, compressionFormatBrotliSuffix)
|
|
||||||
case compressionFormatBzip2Key:
|
|
||||||
fallthrough
|
|
||||||
case compressionFormatBzip2ParallelKey:
|
|
||||||
hdr.Name = strings.TrimSuffix(hdr.Name, compressionFormatBzip2Suffix)
|
|
||||||
case compressionFormatNoneKey:
|
|
||||||
default:
|
|
||||||
return errUnsupportedCompressionFormat
|
|
||||||
}
|
}
|
||||||
|
hdr.Name = newName
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := formatting.PrintCSV(formatting.GetTARHeaderAsCSV(record, block, hdr)); err != nil {
|
if err := formatting.PrintCSV(formatting.GetTARHeaderAsCSV(record, block, hdr)); err != nil {
|
||||||
@@ -390,6 +368,38 @@ func indexHeader(
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func removeSuffix(name string, compressionFormat string, encryptionFormat string) (string, error) {
|
||||||
|
switch encryptionFormat {
|
||||||
|
case encryptionFormatAgeKey:
|
||||||
|
name = strings.TrimSuffix(name, encryptionFormatAgeSuffix)
|
||||||
|
case encryptionFormatNoneKey:
|
||||||
|
default:
|
||||||
|
return "", errUnsupportedEncryptionFormat
|
||||||
|
}
|
||||||
|
|
||||||
|
switch compressionFormat {
|
||||||
|
case compressionFormatGZipKey:
|
||||||
|
fallthrough
|
||||||
|
case compressionFormatParallelGZipKey:
|
||||||
|
name = strings.TrimSuffix(name, compressionFormatGZipSuffix)
|
||||||
|
case compressionFormatLZ4Key:
|
||||||
|
name = strings.TrimSuffix(name, compressionFormatLZ4Suffix)
|
||||||
|
case compressionFormatZStandardKey:
|
||||||
|
name = strings.TrimSuffix(name, compressionFormatZStandardSuffix)
|
||||||
|
case compressionFormatBrotliKey:
|
||||||
|
name = strings.TrimSuffix(name, compressionFormatBrotliSuffix)
|
||||||
|
case compressionFormatBzip2Key:
|
||||||
|
fallthrough
|
||||||
|
case compressionFormatBzip2ParallelKey:
|
||||||
|
name = strings.TrimSuffix(name, compressionFormatBzip2Suffix)
|
||||||
|
case compressionFormatNoneKey:
|
||||||
|
default:
|
||||||
|
return "", errUnsupportedCompressionFormat
|
||||||
|
}
|
||||||
|
|
||||||
|
return name, nil
|
||||||
|
}
|
||||||
|
|
||||||
func openTapeReadOnly(tape string) (f *os.File, isRegular bool, err error) {
|
func openTapeReadOnly(tape string) (f *os.File, isRegular bool, err error) {
|
||||||
fileDescription, err := os.Stat(tape)
|
fileDescription, err := os.Stat(tape)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
+3
-26
@@ -205,32 +205,9 @@ func update(
|
|||||||
hdr.PAXRecords[pax.STFSRecordUncompressedSize] = strconv.Itoa(int(hdr.Size))
|
hdr.PAXRecords[pax.STFSRecordUncompressedSize] = strconv.Itoa(int(hdr.Size))
|
||||||
hdr.Size = int64(fileSizeCounter.BytesRead)
|
hdr.Size = int64(fileSizeCounter.BytesRead)
|
||||||
|
|
||||||
switch compressionFormat {
|
hdr.Name, err = addSuffix(hdr.Name, compressionFormat, encryptionFormat)
|
||||||
case compressionFormatGZipKey:
|
if err != nil {
|
||||||
fallthrough
|
return err
|
||||||
case compressionFormatParallelGZipKey:
|
|
||||||
hdr.Name += compressionFormatGZipSuffix
|
|
||||||
case compressionFormatLZ4Key:
|
|
||||||
hdr.Name += compressionFormatLZ4Suffix
|
|
||||||
case compressionFormatZStandardKey:
|
|
||||||
hdr.Name += compressionFormatZStandardSuffix
|
|
||||||
case compressionFormatBrotliKey:
|
|
||||||
hdr.Name += compressionFormatBrotliSuffix
|
|
||||||
case compressionFormatBzip2Key:
|
|
||||||
fallthrough
|
|
||||||
case compressionFormatBzip2ParallelKey:
|
|
||||||
hdr.Name += compressionFormatBzip2Suffix
|
|
||||||
case compressionFormatNoneKey:
|
|
||||||
default:
|
|
||||||
return errUnsupportedCompressionFormat
|
|
||||||
}
|
|
||||||
|
|
||||||
switch encryptionFormat {
|
|
||||||
case encryptionFormatAgeKey:
|
|
||||||
hdr.Name += encryptionFormatAgeSuffix
|
|
||||||
case compressionFormatNoneKey:
|
|
||||||
default:
|
|
||||||
return errUnsupportedEncryptionFormat
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user