Add list buckets for 'fs'

This commit is contained in:
Harshavardhana
2015-01-27 18:43:55 -08:00
parent 3781734903
commit 2ccecd3f32
2 changed files with 33 additions and 2 deletions

View File

@@ -34,10 +34,32 @@ func start(ctrlChannel <-chan string, errorChannel chan<- error) {
close(errorChannel)
}
// Bucket Operaotions
// Bucket Operations
func (storage *storage) ListBuckets(prefix string) ([]mstorage.BucketMetadata, error) {
return []mstorage.BucketMetadata{}, errors.New("Not Implemented")
if mstorage.IsValidBucket(bucket) == false {
return []mstorage.BucketMetadata{}, mstorage.BucketNameInvalid{Bucket: bucket}
}
files, err := ioutil.ReadDir(storage.root)
if err != nil {
return []mstorage.BucketMetadata{}, mstorage.EmbedError("bucket", "", err)
}
var metadataList []mstorage.BucketMetadata
for _, file := range files {
if !file.IsDir() {
return []mstorage.BucketMetadata{}, mstorage.BackendCorrupted{Path: storage.root}
}
if strings.HasPrefix(file.Name(), prefix) {
metadata := mstorage.BucketMetadata{
Name: file.Name(),
Created: file.ModTime(), // TODO - provide real created time
}
metadataList = append(metadata, metadataList)
}
}
return metadataList, nil
}
func (storage *storage) StoreBucket(bucket string) error {