minio/pkgs/minio/common.go
Harshavardhana 3ec5c2fb8f Implement commands
Commands implemented

   $ minio put <objectname> <file>
   $ minio encode <objectname>
   $ minio get <objectname>
   $ minio list

TODO :

   $ minio init
   $ minio verify
    ...
    ...
2014-12-15 14:59:15 -08:00

104 lines
2.0 KiB
Go

package minio
import (
"errors"
"log"
"os"
"os/user"
"path"
"strconv"
"strings"
"github.com/codegangsta/cli"
"github.com/minio-io/minio/pkgs/strbyteconv"
)
// config representing cli input
type inputConfig struct {
k int
m int
blockSize uint64
rootDir string
stagingDir string
}
// parses input and returns an inputConfig with parsed input
func parseInput(c *cli.Context) (inputConfig, error) {
var k, m int
if c.String("protection-level") != "" {
protectionLevel := c.String("protection-level")
protectionLevelSplit := strings.Split(protectionLevel, ",")
if len(protectionLevelSplit) != 2 {
return inputConfig{}, errors.New("Malformed input for protection-level")
}
var err error
k, err = strconv.Atoi(protectionLevelSplit[0])
if err != nil {
return inputConfig{}, err
}
m, err = strconv.Atoi(protectionLevelSplit[1])
if err != nil {
return inputConfig{}, err
}
}
var blockSize uint64
blockSize = 0
if c.String("block-size") != "" {
if c.String("block-size") != "full" {
var err error
blockSize, err = strbyteconv.StringToBytes(c.String("block-size"))
if err != nil {
return inputConfig{}, err
}
}
}
var rootDir string
if c.String("root") != "" {
rootDir = c.String("root")
}
var stagingDir string
if c.String("staging") != "" {
stagingDir = c.String("staging")
}
config := inputConfig{
k: k,
m: m,
blockSize: blockSize,
rootDir: rootDir,
stagingDir: stagingDir,
}
return config, nil
}
func Getobjectdir(basename string) string {
user, err := user.Current()
if err != nil {
log.Fatal(err)
}
homePath := user.HomeDir
minioPath := path.Join(homePath, basename)
err = _initDir(minioPath)
if err != nil {
log.Fatal(err)
}
return minioPath
}
func _initDir(dirPath string) error {
_, err := os.Lstat(dirPath)
if err != nil {
log.Printf("%s not found, creating a new-one for the first time",
dirPath)
err = os.MkdirAll(dirPath, 0700)
if err != nil {
return err
}
}
return nil
}