parent
c2917f0d64
commit
d1ebf935da
@ -0,0 +1,40 @@ |
||||
package main |
||||
|
||||
import ( |
||||
"bytes" |
||||
"io" |
||||
"os" |
||||
"path" |
||||
|
||||
"github.com/minio-io/minio/pkgs/storage" |
||||
"github.com/minio-io/minio/pkgs/storage/fsstorage" |
||||
) |
||||
|
||||
func fsGet(config inputConfig, objectPath string) (io.Reader, error) { |
||||
var objectStorage storage.ObjectStorage |
||||
rootDir := path.Join(config.rootDir, config.storageDriver) |
||||
objectStorage = fsstorage.FileSystemStorage{RootDir: rootDir} |
||||
object, err := objectStorage.Get(objectPath) |
||||
if err != nil { |
||||
return nil, err |
||||
} |
||||
objectBuffer := bytes.NewBuffer(object) |
||||
return objectBuffer, nil |
||||
} |
||||
|
||||
func fsPut(config inputConfig, objectPath string, reader io.Reader) error { |
||||
var err error |
||||
rootDir := path.Join(config.rootDir, config.storageDriver) |
||||
if err := os.MkdirAll(config.rootDir, 0700); err != nil { |
||||
return err |
||||
} |
||||
var objectStorage storage.ObjectStorage |
||||
buffer := new(bytes.Buffer) |
||||
buffer.ReadFrom(reader) |
||||
object := buffer.Bytes() |
||||
objectStorage = fsstorage.FileSystemStorage{RootDir: rootDir} |
||||
if err = objectStorage.Put(objectPath, object); err != nil { |
||||
return err |
||||
} |
||||
return nil |
||||
} |
@ -0,0 +1,52 @@ |
||||
package main |
||||
|
||||
import ( |
||||
"io" |
||||
"log" |
||||
"os" |
||||
|
||||
"github.com/codegangsta/cli" |
||||
) |
||||
|
||||
func get(c *cli.Context) { |
||||
config, err := parseInput(c) |
||||
if err != nil { |
||||
log.Fatal(err) |
||||
} |
||||
var objectReader io.Reader |
||||
switch config.storageDriver { |
||||
case "fs": |
||||
{ |
||||
if objectReader, err = fsGet(config, c.Args().Get(0)); err != nil { |
||||
log.Fatal(err) |
||||
} |
||||
} |
||||
default: |
||||
{ |
||||
log.Fatal("Unknown driver") |
||||
} |
||||
} |
||||
io.Copy(os.Stdout, objectReader) |
||||
} |
||||
|
||||
func put(c *cli.Context) { |
||||
config, err := parseInput(c) |
||||
if err != nil { |
||||
log.Fatal(err) |
||||
} |
||||
filePath := c.Args().Get(1) |
||||
inputFile, err := os.Open(filePath) |
||||
if err != nil { |
||||
log.Fatal(err) |
||||
} |
||||
switch config.storageDriver { |
||||
case "fs": |
||||
{ |
||||
fsPut(config, c.Args().Get(0), inputFile) |
||||
} |
||||
default: |
||||
{ |
||||
log.Fatal("Unknown driver") |
||||
} |
||||
} |
||||
} |
@ -0,0 +1 @@ |
||||
package main |
Loading…
Reference in new issue