Skip to content

Commit ed78f13

Browse files
authored
Merge pull request #96 from pinecone-io/fix-describe-collection
Remove named tuple class, just return direct response
2 parents 337a9a1 + 3bbc0ee commit ed78f13

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

pinecone/manage.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,25 @@
22
# Copyright (c) 2020-2021 Pinecone Systems Inc. All right reserved.
33
#
44

5-
import json
65
import time
76
from typing import NamedTuple
8-
9-
import pinecone
107
from pinecone.config import Config
118
from pinecone.core.client.api.index_operations_api import IndexOperationsApi
129
from pinecone.core.client.api_client import ApiClient
13-
from pinecone.core.client.configuration import Configuration
1410
from pinecone.core.client.model.create_request import CreateRequest
1511
from pinecone.core.client.model.patch_request import PatchRequest
1612
from pinecone.core.client.model.create_collection_request import CreateCollectionRequest
1713
from pinecone.core.utils import get_user_agent
1814

1915
__all__ = [
2016
"create_index", "delete_index", "describe_index", "list_indexes", "scale_index", "IndexDescription",
21-
"create_collection", "describe_collection", "list_collections", "delete_collection", "CollectionDescription",
22-
"configure_index"
17+
"create_collection", "describe_collection", "list_collections", "delete_collection", "configure_index",
18+
"CollectionDescription"
2319
]
2420

2521

2622
class IndexDescription(NamedTuple):
2723
name: str
28-
index_type: str
2924
metric: str
3025
replicas: int
3126
dimension: int
@@ -37,10 +32,13 @@ class IndexDescription(NamedTuple):
3732
metadata_config: None
3833

3934

40-
class CollectionDescription(NamedTuple):
41-
name: str
42-
size: int
43-
status: str
35+
class CollectionDescription(object):
36+
def __init__(self, keys, values):
37+
for k, v in zip(keys, values):
38+
self.__dict__[k] = v
39+
40+
def __str__(self):
41+
return str(self.__dict__)
4442

4543

4644
def _get_api_instance():
@@ -197,7 +195,7 @@ def describe_index(name: str):
197195
db = response['database']
198196
ready = response['status']['ready']
199197
state = response['status']['state']
200-
return IndexDescription(name=db['name'], index_type=db['index_type'], metric=db['metric'],
198+
return IndexDescription(name=db['name'], metric=db['metric'],
201199
replicas=db['replicas'], dimension=db['dimension'], shards=db['shards'],
202200
pods=db.get('pods', db['shards'] * db['replicas']), pod_type=db.get('pod_type', 'p1'),
203201
index_config=db['index_config'], status={'ready': ready, 'state': state},
@@ -249,8 +247,9 @@ def describe_collection(name: str):
249247
:return: Description of the collection
250248
"""
251249
api_instance = _get_api_instance()
252-
response = api_instance.describe_collection(name)
253-
return CollectionDescription(name=response['name'], size=response['size'], status=response['status'])
250+
response = api_instance.describe_collection(name).to_dict()
251+
response_object = CollectionDescription(response.keys(), response.values())
252+
return response_object
254253

255254

256255
def configure_index(name: str, replicas: int = None, pod_type: str = ""):
@@ -265,3 +264,4 @@ def configure_index(name: str, replicas: int = None, pod_type: str = ""):
265264
else:
266265
patch_request = PatchRequest(pod_type=pod_type)
267266
api_instance.configure_index(name, patch_request=patch_request)
267+

0 commit comments

Comments
 (0)