diff options
Diffstat (limited to 'weed/filer/arangodb/helpers.go')
| -rw-r--r-- | weed/filer/arangodb/helpers.go | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/weed/filer/arangodb/helpers.go b/weed/filer/arangodb/helpers.go index c91ef2be5..943189781 100644 --- a/weed/filer/arangodb/helpers.go +++ b/weed/filer/arangodb/helpers.go @@ -48,15 +48,28 @@ func arrayToBytes(xs []uint64) []byte { return out[:first] } -// gets the bucket name out of filepath +// gets the collection the bucket points to from filepath +func (store *ArangodbStore) extractBucketCollection(ctx context.Context, fullpath util.FullPath) (c driver.Collection, err error) { + bucket, _ := extractBucket(fullpath) + if bucket == "" { + bucket = DEFAULT_COLLECTION + } + c, err = store.ensureBucket(ctx, bucket) + if err != nil { + return nil, err + } + return c, err +} + +// called by extractBucketCollection func extractBucket(fullpath util.FullPath) (string, string) { if !strings.HasPrefix(string(fullpath), BUCKET_PREFIX+"/") { return "", string(fullpath) } - if strings.Count(string(fullpath), "/") < 2 { + if strings.Count(string(fullpath), "/") < 3 { return "", string(fullpath) } - bucketAndObjectKey := string(fullpath)[len("/buckets/"):] + bucketAndObjectKey := string(fullpath)[len(BUCKET_PREFIX+"/"):] t := strings.Index(bucketAndObjectKey, "/") bucket := bucketAndObjectKey shortPath := "/" @@ -67,19 +80,6 @@ func extractBucket(fullpath util.FullPath) (string, string) { return bucket, shortPath } -// gets the collection the bucket points to from filepath -func (store *ArangodbStore) extractBucketCollection(ctx context.Context, fullpath util.FullPath) (c driver.Collection, err error) { - bucket, _ := extractBucket(fullpath) - if bucket == "" { - bucket = DEFAULT_COLLECTION - } - c, err = store.ensureBucket(ctx, bucket) - if err != nil { - return nil, err - } - return c, err -} - // get bucket collection from cache. if not exist, creates the buckets collection and grab it func (store *ArangodbStore) ensureBucket(ctx context.Context, bucket string) (bc driver.Collection, err error) { var ok bool |
