from CellFrame.Chain import GlobalDB
from DAP.Core import logIt

class GDBTable:
    def __init__(self, table):
        self.table = table
    
    def set(self, key, value):
        #logIt.debug("GDBSet {} - {} : {}".format(self.table, key, value))        
        GlobalDB.set(key, self.table, value)

    def get(self, key, default):
        return GlobalDB.get(key, self.table) or default
    
    def delete(self, key):
        #logIt.debug("GDBDel {} - {}".format(self.table, key))        
        GlobalDB.delete(key, self.table)

    def group_list(self):
        return GlobalDB.grLoad(self.table)


def sync_group(netname, grp, callback, cbname):
    logIt.notice("ExtraSyncGroup {}: {}".format(netname, grp))
    GlobalDB.addSyncExtraGroup(netname, grp, callback, cbname)