Skip to content

Commit 132f8d5

Browse files
[MultiDB]: use python class composition to avoid confusion in base class (sonic-net#74)
1 parent 9fab729 commit 132f8d5

File tree

1 file changed

+20
-20
lines changed

1 file changed

+20
-20
lines changed

src/swsssdk/dbconnector.py

+20-20
Original file line numberDiff line numberDiff line change
@@ -223,9 +223,9 @@ def get_separator(db_name, namespace=None):
223223
SonicDBConfig.db_name_validation(db_name, namespace)
224224
return SonicDBConfig._sonic_db_config[namespace]["DATABASES"][db_name]["separator"]
225225

226-
class SonicV2Connector(DBInterface):
226+
class SonicV2Connector(object):
227227
def __init__(self, use_unix_socket_path=False, namespace=None, **kwargs):
228-
super(SonicV2Connector, self).__init__(**kwargs)
228+
self.dbintf = DBInterface(**kwargs)
229229
self.use_unix_socket_path = use_unix_socket_path
230230

231231
"""If the user don't give the namespace as input, it refers to the local namespace
@@ -244,19 +244,19 @@ def __init__(self, use_unix_socket_path=False, namespace=None, **kwargs):
244244

245245
def connect(self, db_name, retry_on=True):
246246
if self.use_unix_socket_path:
247-
self.redis_kwargs["unix_socket_path"] = self.get_db_socket(db_name)
248-
self.redis_kwargs["host"] = None
249-
self.redis_kwargs["port"] = None
247+
self.dbintf.redis_kwargs["unix_socket_path"] = self.get_db_socket(db_name)
248+
self.dbintf.redis_kwargs["host"] = None
249+
self.dbintf.redis_kwargs["port"] = None
250250
else:
251-
self.redis_kwargs["host"] = self.get_db_hostname(db_name)
252-
self.redis_kwargs["port"] = self.get_db_port(db_name)
253-
self.redis_kwargs["unix_socket_path"] = None
251+
self.dbintf.redis_kwargs["host"] = self.get_db_hostname(db_name)
252+
self.dbintf.redis_kwargs["port"] = self.get_db_port(db_name)
253+
self.dbintf.redis_kwargs["unix_socket_path"] = None
254254
db_id = self.get_dbid(db_name)
255-
super(SonicV2Connector, self).connect(db_id, retry_on)
255+
self.dbintf.connect(db_id, retry_on)
256256

257257
def close(self, db_name):
258258
db_id = self.get_dbid(db_name)
259-
super(SonicV2Connector, self).close(db_id)
259+
self.dbintf.close(db_id)
260260

261261
def get_db_list(self):
262262
return SonicDBConfig.get_dblist(self.namespace)
@@ -281,42 +281,42 @@ def get_db_separator(self, db_name):
281281

282282
def get_redis_client(self, db_name):
283283
db_id = self.get_dbid(db_name)
284-
return super(SonicV2Connector, self).get_redis_client(db_id)
284+
return self.dbintf.get_redis_client(db_id)
285285

286286
def publish(self, db_name, channel, message):
287287
db_id = self.get_dbid(db_name)
288-
return super(SonicV2Connector, self).publish(db_id, channel, message)
288+
return self.dbintf.publish(db_id, channel, message)
289289

290290
def expire(self, db_name, key, timeout_sec):
291291
db_id = self.get_dbid(db_name)
292-
return super(SonicV2Connector, self).expire(db_id, key, timeout_sec)
292+
return self.dbintf.expire(db_id, key, timeout_sec)
293293

294294
def exists(self, db_name, key):
295295
db_id = self.get_dbid(db_name)
296-
return super(SonicV2Connector, self).exists(db_id, key)
296+
return self.dbintf.exists(db_id, key)
297297

298298
def keys(self, db_name, pattern='*', *args, **kwargs):
299299
db_id = self.get_dbid(db_name)
300-
return super(SonicV2Connector, self).keys(db_id, pattern, *args, **kwargs)
300+
return self.dbintf.keys(db_id, pattern, *args, **kwargs)
301301

302302
def get(self, db_name, _hash, key, *args, **kwargs):
303303
db_id = self.get_dbid(db_name)
304-
return super(SonicV2Connector, self).get(db_id, _hash, key, *args, **kwargs)
304+
return self.dbintf.get(db_id, _hash, key, *args, **kwargs)
305305

306306
def get_all(self, db_name, _hash, *args, **kwargs):
307307
db_id = self.get_dbid(db_name)
308-
return super(SonicV2Connector, self).get_all(db_id, _hash, *args, **kwargs)
308+
return self.dbintf.get_all(db_id, _hash, *args, **kwargs)
309309

310310
def set(self, db_name, _hash, key, val, *args, **kwargs):
311311
db_id = self.get_dbid(db_name)
312-
return super(SonicV2Connector, self).set(db_id, _hash, key, val, *args, **kwargs)
312+
return self.dbintf.set(db_id, _hash, key, val, *args, **kwargs)
313313

314314
def delete(self, db_name, key, *args, **kwargs):
315315
db_id = self.get_dbid(db_name)
316-
return super(SonicV2Connector, self).delete(db_id, key, *args, **kwargs)
316+
return self.dbintf.delete(db_id, key, *args, **kwargs)
317317

318318
def delete_all_by_pattern(self, db_name, pattern, *args, **kwargs):
319319
db_id = self.get_dbid(db_name)
320-
super(SonicV2Connector, self).delete_all_by_pattern(db_id, pattern, *args, **kwargs)
320+
self.dbintf.delete_all_by_pattern(db_id, pattern, *args, **kwargs)
321321

322322
pass

0 commit comments

Comments
 (0)