From 3c0908abc68a2c0e969d0e0e14e88abada38e7aa Mon Sep 17 00:00:00 2001 From: Morgan Fainberg Date: Fri, 15 Dec 2023 09:28:13 -0800 Subject: [PATCH] Do not check destinations or files for output consumer null --- cmd/multifile/manifest.go | 29 ++++++++++++++++++----------- cmd/root/root.go | 8 ++++++-- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/cmd/multifile/manifest.go b/cmd/multifile/manifest.go index 86430ef..1b67dbe 100644 --- a/cmd/multifile/manifest.go +++ b/cmd/multifile/manifest.go @@ -9,9 +9,12 @@ import ( "os" "strings" + "github.com/spf13/viper" + pget "github.com/replicate/pget/pkg" "github.com/replicate/pget/pkg/cli" "github.com/replicate/pget/pkg/client" + "github.com/replicate/pget/pkg/config" ) // A manifest is a file consisting of pairs of URLs and paths: @@ -86,18 +89,22 @@ func parseManifest(file io.Reader) (pget.Manifest, error) { return nil, err } - err = checkSeenDests(seenDests, dest, urlString) - if err != nil { - return nil, err + // THIS IS A BODGE - FIX ME MOVE THESE THINGS TO PGET + // and make the consumer responsible for knowing if this + // is allowed/not allowed/etc + consumer := viper.GetString(config.OptOutputConsumer) + if consumer != config.ConsumerNull { + err = checkSeenDests(seenDests, dest, urlString) + if err != nil { + return nil, err + } + seenDests[dest] = urlString + + err = cli.EnsureDestinationNotExist(dest) + if err != nil { + return nil, err + } } - - seenDests[dest] = urlString - - err = cli.EnsureDestinationNotExist(dest) - if err != nil { - return nil, err - } - schemeHost, err := client.GetSchemeHostKey(urlString) if err != nil { return nil, fmt.Errorf("error parsing url %s: %w", urlString, err) diff --git a/cmd/root/root.go b/cmd/root/root.go index 593f0f9..f37a614 100644 --- a/cmd/root/root.go +++ b/cmd/root/root.go @@ -139,8 +139,12 @@ func runRootCMD(cmd *cobra.Command, args []string) error { Str("minimum_chunk_size", viper.GetString(config.OptMinimumChunkSize)). Msg("Initiating") - if err := cli.EnsureDestinationNotExist(dest); err != nil { - return err + // OMG BODGE FIX THIS + consumer := viper.GetString(config.OptOutputConsumer) + if consumer != config.ConsumerNull { + if err := cli.EnsureDestinationNotExist(dest); err != nil { + return err + } } if err := rootExecute(cmd.Context(), urlString, dest); err != nil { return err