44from immudb import header_manipulator_client_interceptor
55from immudb .handler import (batchGet , batchSet , changePassword , createUser ,
66 currentRoot , databaseCreate , databaseList , databaseUse ,
7- get , listUsers , safeGet , safeSet , setValue , history ,
8- scan , reference )
7+ get , listUsers , verifiedGet , verifiedSet , setValue , history ,
8+ scan , reference , verifiedreference , zadd , verifiedzadd ,
9+ zscan , healthcheck , txbyid , verifiedtxbyid )
910from immudb .rootService import RootService
1011from immudb .grpc import schema_pb2_grpc
11-
12- OLDEST_FIRST = True
13- NEWEST_FIRST = False
12+ import warnings
1413
1514class ImmudbClient :
1615 def __init__ (self , immudUrl = None ):
@@ -52,6 +51,7 @@ def shutdown(self):
5251 self .channel = None
5352 self .intercept_channel .close
5453 self .intercept_channel = None
54+ self .__rs = None
5555
5656 def set_token_header_interceptor (self , response ):
5757 try :
@@ -72,42 +72,56 @@ def set_token_header_interceptor(self, response):
7272 @property
7373 def stub (self ):
7474 return self .__stub
75+
76+ def healthCheck (self ):
77+ return healthcheck .call (self .__stub , self .__rs )
78+
7579
7680 def get (self , key : bytes ):
77- request = schema_pb2_grpc .schema__pb2 .Key (key = key )
78- return get .call (self .__stub , self .__rs , request )
81+ return get .call (self .__stub , self .__rs , key )
82+
83+ def getValue (self , key : bytes ):
84+ ret = get .call (self .__stub , self .__rs , key )
85+ if ret == None :
86+ return None
87+ return ret .value
7988
8089 def set (self , key : bytes , value : bytes ):
81- request = schema_pb2_grpc .schema__pb2 .KeyValue (key = key , value = value )
82- return setValue .call (self .__stub , self .__rs , request )
90+ return setValue .call (self .__stub , self .__rs , key , value )
8391
8492 def safeGet (self , key : bytes ):
85- request = schema_pb2_grpc .schema__pb2 .SafeGetOptions (key = key )
86- return safeGet .call (self .__stub , self .__rs , request )
93+ warnings .warn ("Call to deprecated safeGet. Use verifiedGet instead" ,
94+ category = DeprecationWarning ,
95+ stacklevel = 2
96+ )
97+ return verifiedGet .call (self .__stub , self .__rs , key )
98+
99+ def verifiedGet (self , key : bytes ):
100+ return verifiedGet .call (self .__stub , self .__rs , key )
101+
102+ def verifiedGetAt (self , key : bytes , atTx :int ):
103+ return verifiedGet .call (self .__stub , self .__rs , key , atTx )
87104
88105 def safeSet (self , key : bytes , value : bytes ):
89- request = schema_pb2_grpc .schema__pb2 .SafeSetOptions (
90- kv = {"key" : key , "value" : value })
91- return safeSet .call (self .__stub , self .__rs , request )
106+ warnings .warn ("Call to deprecated safeSet. Use verifiedSet instead" ,
107+ category = DeprecationWarning ,
108+ stacklevel = 2
109+ )
110+ return verifiedSet .call (self .__stub , self .__rs , key , value )
111+
112+ def verifiedSet (self , key : bytes , value : bytes ):
113+ return verifiedSet .call (self .__stub , self .__rs , key , value )
92114
93- def getAllItems (self , keys : list ):
94- klist = [schema_pb2_grpc .schema__pb2 .Key (key = k ) for k in keys ]
95- request = schema_pb2_grpc .schema__pb2 .KeyList (keys = klist )
96- return batchGet .call (self .__stub , self .__rs , request )
115+ def getAllValues (self , keys : list ):
116+ resp = batchGet .call (self .__stub , self .__rs , keys )
117+ return resp
97118
98119 def getAll (self , keys : list ):
99- klist = [schema_pb2_grpc .schema__pb2 .Key (key = k ) for k in keys ]
100- request = schema_pb2_grpc .schema__pb2 .KeyList (keys = klist )
101- resp = batchGet .call (self .__stub , self .__rs , request )
102- return resp
120+ resp = batchGet .call (self .__stub , self .__rs , keys )
121+ return {key :value .value for key , value in resp .items ()}
103122
104123 def setAll (self , kv : dict ):
105- _KVs = []
106- for i in kv .keys ():
107- _KVs .append (schema_pb2_grpc .schema__pb2 .KeyValue (
108- key = i , value = kv [i ]))
109- request = schema_pb2_grpc .schema__pb2 .KVList (KVs = _KVs )
110- return batchSet .call (self .__stub , self .__rs , request )
124+ return batchSet .call (self .__stub , self .__rs , kv )
111125
112126 def changePassword (self , user , newPassword , oldPassword ):
113127 request = schema_pb2_grpc .schema__pb2 .ChangePasswordRequest (
@@ -130,7 +144,8 @@ def listUsers(self):
130144 return listUsers .call (self .__stub , None )
131145
132146 def databaseList (self ):
133- return databaseList .call (self .__stub , self .__rs , None )
147+ dbs = databaseList .call (self .__stub , self .__rs , None )
148+ return [x .databasename for x in dbs .dblist .databases ]
134149
135150 def databaseUse (self , dbName : bytes ):
136151 request = schema_pb2_grpc .schema__pb2 .Database (databasename = dbName )
@@ -145,65 +160,42 @@ def databaseCreate(self, dbName: bytes):
145160 request = schema_pb2_grpc .schema__pb2 .Database (databasename = dbName )
146161 return databaseCreate .call (self .__stub , self .__rs , request )
147162
148- def currentRoot (self ):
163+ def currentState (self ):
149164 return currentRoot .call (self .__stub , self .__rs , None )
150165
151166 def history (self , key : bytes , offset : int , limit : int , sortorder : bool ):
152- request = schema_pb2_grpc .schema__pb2 .HistoryOptions (
153- key = key ,
154- offset = offset ,
155- limit = limit ,
156- reverse = sortorder
157- )
158- return history .call (self .__stub , self .__rs , request )
167+ return history .call (self .__stub , self .__rs , key , offset , limit , sortorder )
159168
160169 def logout (self ):
161170 self .__stub .Logout (google_dot_protobuf_dot_empty__pb2 .Empty ())
162171 self .__login_response = None
163-
164- def scan (self , prefix : bytes , offset : bytes , limit :int = 10 , reverse :bool = False , deep :bool = False ):
165- request = schema_pb2_grpc .schema__pb2 .ScanOptions (
166- prefix = prefix ,
167- offset = offset ,
168- limit = limit ,
169- reverse = reverse ,
170- deep = deep )
171- return scan .call (self .__stub , self .__rs , request )
172+
173+ def scan (self , key :bytes , prefix :bytes , desc :bool , limit :int ,sinceTx :int = None ):
174+ return scan .call (self .__stub , self .__rs , key , prefix , desc , limit , sinceTx )
172175
173- def reference (self , refkey : bytes , key : bytes ):
174- request = schema_pb2_grpc .schema__pb2 .ReferenceOptions (
175- reference = refkey ,
176- key = key
177- )
178- return reference .call (self .__stub , self .__rs , request )
179-
176+ def setReference (self , referredkey : bytes , newkey : bytes ):
177+ return reference .call (self .__stub , self .__rs , referredkey , newkey )
180178
181- def zadd (self ):
182- pass
179+ def verifiedSetReference (self , referredkey : bytes , newkey : bytes ):
180+ return verifiedreference . call ( self . __stub , self . __rs , referredkey , newkey )
183181
184- def zscan (self ):
185- pass
186-
187-
188-
189- def scan (self , prefix : bytes , offset : bytes , limit :int = 10 , reverse :bool = False , deep :bool = False ):
190- request = schema_pb2_grpc .schema__pb2 .ScanOptions (
191- prefix = prefix ,
192- offset = offset ,
193- limit = limit ,
194- reverse = reverse ,
195- deep = deep )
196- return scan .call (self .__stub , self .__rs , request )
182+ def zAdd (self , zset :bytes , score :float , key :bytes , atTx :int = 0 ):
183+ return zadd .call (self .__stub , self .__rs , zset , score , key , atTx )
197184
198- def reference (self , refkey : bytes , key : bytes ):
199- request = schema_pb2_grpc .schema__pb2 .ReferenceOptions (
200- reference = refkey ,
201- key = key
202- )
203- return reference .call (self .__stub , self .__rs , request )
185+ def verifiedZAdd (self , zset :bytes , score :float , key :bytes , atTx :int = 0 ):
186+ return verifiedzadd .call (self .__stub , self .__rs , zset , score , key , atTx )
204187
205- def zadd (self ):
206- pass
188+ def zScan (self , zset :bytes , seekKey :bytes , seekScore :float ,
189+ seekAtTx :int , inclusive : bool , limit :int , desc :bool , minscore :float ,
190+ maxscore :float , sinceTx = None , nowait = False ):
191+ return zscan .call (self .__stub , self .__rs , zset , seekKey , seekScore ,
192+ seekAtTx , inclusive , limit , desc , minscore ,
193+ maxscore , sinceTx , nowait )
194+
195+ def txById (self , tx :int ):
196+ return txbyid .call (self .__stub , self .__rs , tx )
207197
208- def zscan (self ):
209- pass
198+ def verifiedTxById (self , tx :int ):
199+ return verifiedtxbyid .call (self .__stub , self .__rs , tx )
200+
201+
0 commit comments