refactor: Merge drive and reader config to enable implementations of tape management without synchronization
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"github.com/pojntfx/stfs/pkg/config"
|
||||
"github.com/pojntfx/stfs/pkg/hardware"
|
||||
"github.com/pojntfx/stfs/pkg/tape"
|
||||
"github.com/spf13/cobra"
|
||||
@@ -16,7 +15,7 @@ var driveEjectCmd = &cobra.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
reader, readerIsRegular, err := tape.OpenTapeReadOnly(
|
||||
reader, _, err := tape.OpenTapeReadOnly(
|
||||
viper.GetString(driveFlag),
|
||||
)
|
||||
if err != nil {
|
||||
@@ -24,12 +23,7 @@ var driveEjectCmd = &cobra.Command{
|
||||
}
|
||||
defer reader.Close()
|
||||
|
||||
return hardware.Eject(
|
||||
config.DriveConfig{
|
||||
Drive: reader,
|
||||
DriveIsRegular: readerIsRegular,
|
||||
},
|
||||
)
|
||||
return hardware.Eject(reader.Fd())
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,6 @@ package cmd
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/pojntfx/stfs/pkg/config"
|
||||
"github.com/pojntfx/stfs/pkg/hardware"
|
||||
"github.com/pojntfx/stfs/pkg/tape"
|
||||
"github.com/spf13/cobra"
|
||||
@@ -18,7 +17,7 @@ var driveTellCmd = &cobra.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
reader, readerIsRegular, err := tape.OpenTapeReadOnly(
|
||||
reader, _, err := tape.OpenTapeReadOnly(
|
||||
viper.GetString(driveFlag),
|
||||
)
|
||||
if err != nil {
|
||||
@@ -26,12 +25,7 @@ var driveTellCmd = &cobra.Command{
|
||||
}
|
||||
defer reader.Close()
|
||||
|
||||
currentRecord, err := hardware.Tell(
|
||||
config.DriveConfig{
|
||||
Drive: reader,
|
||||
DriveIsRegular: readerIsRegular,
|
||||
},
|
||||
)
|
||||
currentRecord, err := hardware.Tell(reader.Fd())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -87,9 +87,6 @@ var operationArchiveCmd = &cobra.Command{
|
||||
|
||||
GetReader: tm.GetReader,
|
||||
CloseReader: tm.Close,
|
||||
|
||||
GetDrive: tm.GetDrive,
|
||||
CloseDrive: tm.Close,
|
||||
},
|
||||
config.MetadataConfig{
|
||||
Metadata: metadataPersister,
|
||||
|
||||
@@ -71,9 +71,6 @@ var operationDeleteCmd = &cobra.Command{
|
||||
|
||||
GetReader: tm.GetReader,
|
||||
CloseReader: tm.Close,
|
||||
|
||||
GetDrive: tm.GetDrive,
|
||||
CloseDrive: tm.Close,
|
||||
},
|
||||
config.MetadataConfig{
|
||||
Metadata: metadataPersister,
|
||||
|
||||
@@ -67,9 +67,6 @@ var operationMoveCmd = &cobra.Command{
|
||||
|
||||
GetReader: tm.GetReader,
|
||||
CloseReader: tm.Close,
|
||||
|
||||
GetDrive: tm.GetDrive,
|
||||
CloseDrive: tm.Close,
|
||||
},
|
||||
config.MetadataConfig{
|
||||
Metadata: metadataPersister,
|
||||
|
||||
@@ -75,9 +75,6 @@ var operationRestoreCmd = &cobra.Command{
|
||||
|
||||
GetReader: tm.GetReader,
|
||||
CloseReader: tm.Close,
|
||||
|
||||
GetDrive: tm.GetDrive,
|
||||
CloseDrive: tm.Close,
|
||||
},
|
||||
config.MetadataConfig{
|
||||
Metadata: metadataPersister,
|
||||
|
||||
@@ -77,9 +77,6 @@ var operationUpdateCmd = &cobra.Command{
|
||||
|
||||
GetReader: tm.GetReader,
|
||||
CloseReader: tm.Close,
|
||||
|
||||
GetDrive: tm.GetDrive,
|
||||
CloseDrive: tm.Close,
|
||||
},
|
||||
config.MetadataConfig{
|
||||
Metadata: metadataPersister,
|
||||
|
||||
@@ -71,10 +71,6 @@ var recoveryFetchCmd = &cobra.Command{
|
||||
Drive: reader,
|
||||
DriveIsRegular: readerIsRegular,
|
||||
},
|
||||
config.DriveConfig{
|
||||
Drive: reader,
|
||||
DriveIsRegular: readerIsRegular,
|
||||
},
|
||||
config.PipeConfig{
|
||||
Compression: viper.GetString(compressionFlag),
|
||||
Encryption: viper.GetString(encryptionFlag),
|
||||
|
||||
@@ -70,10 +70,6 @@ var recoveryIndexCmd = &cobra.Command{
|
||||
Drive: reader,
|
||||
DriveIsRegular: readerIsRegular,
|
||||
},
|
||||
config.DriveConfig{
|
||||
Drive: reader,
|
||||
DriveIsRegular: readerIsRegular,
|
||||
},
|
||||
config.MetadataConfig{
|
||||
Metadata: metadataPersister,
|
||||
},
|
||||
|
||||
@@ -60,10 +60,6 @@ var recoveryQueryCmd = &cobra.Command{
|
||||
Drive: reader,
|
||||
DriveIsRegular: readerIsRegular,
|
||||
},
|
||||
config.DriveConfig{
|
||||
Drive: reader,
|
||||
DriveIsRegular: readerIsRegular,
|
||||
},
|
||||
config.PipeConfig{
|
||||
Compression: viper.GetString(compressionFlag),
|
||||
Encryption: viper.GetString(encryptionFlag),
|
||||
|
||||
@@ -139,9 +139,6 @@ var serveFTPCmd = &cobra.Command{
|
||||
|
||||
GetReader: tm.GetReader,
|
||||
CloseReader: tm.Close,
|
||||
|
||||
GetDrive: tm.GetDrive,
|
||||
CloseDrive: tm.Close,
|
||||
}
|
||||
readCryptoConfig := config.CryptoConfig{
|
||||
Recipient: signatureRecipient,
|
||||
|
||||
@@ -95,9 +95,6 @@ var serveHTTPCmd = &cobra.Command{
|
||||
|
||||
GetReader: tm.GetReader,
|
||||
CloseReader: tm.Close,
|
||||
|
||||
GetDrive: tm.GetDrive,
|
||||
CloseDrive: tm.Close,
|
||||
},
|
||||
config.MetadataConfig{
|
||||
Metadata: metadataPersister,
|
||||
|
||||
Reference in New Issue
Block a user