def syncDB(self): """同步到数据库 """ state = self.get('_state') tablename = self._name.split(':')[0] if state == MMODE_STATE_ORI: return elif state == MMODE_STATE_NEW: props = self.get('data') pk = self.get('_pk') util.InsertIntoDB(tablename, props) # result = util.InsertIntoDB(tablename, props) elif state == MMODE_STATE_UPDATE: props = self.get('data') pk = self.get('_pk') prere = {pk: props.get(pk)} util.UpdateWithDict(tablename, props, prere) # result = True else: pk = self.get('_pk') props = self.get('data') if props: prere = {pk: props.get(pk)} util.DeleteFromDB(tablename, prere) # result = util.DeleteFromDB(tablename, prere) self.mdelete() else: logging.error('syncDB pk:%s is not data' % str(pk)) # logger.debug('syncDB,tbname:%s,%s:%s' %(tablename, pk, props.get(pk))) # if result: 平台缺陷,2014-6-20修改 http://bbs.9miao.com/thread-49154-1-1.html if state != MMODE_STATE_DEL: MemObject.update(self, '_state', MMODE_STATE_ORI)
def syncDB(self): """同步到数据库 """ state = self.get('_state') tablename = self._name.split(':')[0] if state == MMODE_STATE_ORI: return elif state == MMODE_STATE_NEW: props = self.get('data') props = self.dumps(props) pk = self.get('_pk') result = util.InsertIntoDB(tablename, props) elif state == MMODE_STATE_UPDATE: props = self.get('data') pk = self.get('_pk') props = self.dumps(props) prere = {pk: props.get(pk)} del(props[pk]) util.UpdateWithDict(tablename, props, prere) result = True else: pk = self.get('_pk') props = self.get('data') props = self.dumps(props) prere = {pk: props.get(pk)} result = util.DeleteFromDB(tablename, prere) if result: MemObject.update(self, '_state', MMODE_STATE_ORI)
def delete(self, isSyncNow=True): '''删除对象 ''' if isSyncNow: MemObject.update(self, '_state', MMODE_STATE_DEL) # add by fage self.syncDB() else: MemObject.update(self, '_state', MMODE_STATE_DEL) pkval = self.get('data').get(self._pk) rdsclient.zadd(self.dszset, self.produceRedisKey(pkval), time.time())
def update(self, key, values): data = self.getData() if self._fk and self._fk==key:#判断外键是否更新 fk = data.get(self._fk,"") pk = data.get(self._pk) self._update_fk(pk, fk, values)#更新外键 data.update({key:values}) result = MemObject.update(self, 'data',data) self.syncDB() return result
def update(self, key, values): data = self.getData() if self._fk and self._fk == key: #判断外键是否更新 fk = data.get(self._fk, "") pk = data.get(self._pk) self._update_fk(pk, fk, values) #更新外键 data.update({key: values}) result = MemObject.update(self, 'data', data) self.syncDB() return result
def update(self, key, value): data = self.getData() fkName = self._mAdmin.getFk() pkName = self._mAdmin.getPk() if fkName and fkName == key: fk = data.get(fkName, "") pk = data.get(pkName) self._updateFk(pk, fk, value) data[key] = value return MemObject.update(self, 'data', data) and self._updateDB(data[pkName], {key:value})
def update_multi(self, mapping): data = self.getData() if self._fk and self._fk in mapping.keys():#查看外键是否在更新的map中 fk = data.get(self._fk,"") new_fk = mapping.get(self._fk,fk) if new_fk!=fk:#查看外键的值是否发生了变化 pk = data.get(self._pk) self._update_fk(pk, fk, new_fk)#更新外键 data.update(mapping) result = MemObject.update(self, 'data',data) self.syncDB() return result
def update_multi(self, mapping): data = self.getData() if self._fk and self._fk in mapping.keys(): #查看外键是否在更新的map中 fk = data.get(self._fk, "") new_fk = mapping.get(self._fk, fk) if new_fk != fk: #查看外键的值是否发生了变化 pk = data.get(self._pk) self._update_fk(pk, fk, new_fk) #更新外键 data.update(mapping) result = MemObject.update(self, 'data', data) self.syncDB() return result
def syncDB(self): """同步到数据库 """ state = self.get('_state') tablename = self._name.split(':')[0] if state == 0: return elif state == 1: props = self.get('data') pk = self.get('_pk') result = util.InsertIntoDB(tablename, props) elif state == 2: props = self.get('data') pk = self.get('_pk') prere = {pk: props.get(pk)} util.UpdateWithDict(tablename, props, prere) result = True else: pk = self.get('_pk') props = self.get('data') prere = {pk: props.get(pk)} result = util.DeleteFromDB(tablename, prere) if result: MemObject.update(self, '_state', 0)
def syncDB(self): """同步到数据库 """ state = self.get('_state') tablename = self._name.split(':')[0] if state==0: return elif state==1: props = self.get('data') pk = self.get('_pk') result = util.InsertIntoDB(tablename, props) elif state==2: props = self.get('data') pk = self.get('_pk') prere = {pk:props.get(pk)} util.UpdateWithDict(tablename, props, prere) result = True else: pk = self.get('_pk') props = self.get('data') prere = {pk:props.get(pk)} result = util.DeleteFromDB(tablename,prere) if result: MemObject.update(self,'_state', 0)
def updateMulti(self, updateData): if not updateData: return False data = self.getData() fkName = self._mAdmin.getFk() pkName = self._mAdmin.getPk() if fkName and fkName in updateData.keys(): fk = data.get(fkName, "") new_fk = updateData.get(fkName, fk) if new_fk != fk: pk = data.get(pkName) self._updateFk(pk, fk, new_fk) data.update(updateData) return MemObject.update(self, 'data', data) and self._updateDB(data[pkName], updateData)
def update(self, key, values): data = self.getData() if self._fk and self._fk==key: fk = data.get(self._fk,"") tb_name = self._name.split(":")[0] old_name = '%s_fk:%s'%(tb_name,fk) pk = data.get(self._pk) old_fkmm = MFKMode(old_name) old_pklist = old_fkmm.get('pklist') if old_pklist and pk in old_pklist: old_pklist.remove(pk) old_fkmm.update('pklist', old_pklist) new_name = '%s_fk:%s'%(tb_name,values) new_fkmm = MFKMode(new_name) new_pklist = new_fkmm.get('pklist') if new_pklist and pk not in new_pklist: new_pklist.append(pk) new_fkmm.update('pklist', new_pklist) data.update({key:values}) result = MemObject.update(self, 'data',data) self.syncDB() return result
def update(self, key, values): data = self.getData() if self._fk and self._fk == key: fk = data.get(self._fk, "") tb_name = self._name.split(":")[0] old_name = '%s_fk:%s' % (tb_name, fk) pk = data.get(self._pk) old_fkmm = MFKMode(old_name) old_pklist = old_fkmm.get('pklist') if old_pklist and pk in old_pklist: old_pklist.remove(pk) old_fkmm.update('pklist', old_pklist) new_name = '%s_fk:%s' % (tb_name, values) new_fkmm = MFKMode(new_name) new_pklist = new_fkmm.get('pklist') if new_pklist and pk not in new_pklist: new_pklist.append(pk) new_fkmm.update('pklist', new_pklist) data.update({key: values}) result = MemObject.update(self, 'data', data) self.syncDB() return result
def delete(self): '''删除对象 ''' return MemObject.update(self,'_state',3)
def get_multi(self, keys): ntime = time.time() MemObject.update(self, "_time", ntime) return MemObject.get_multi(self, keys)
def delete(self): '''删除对象 ''' return MemObject.update(self,'_state',MMODE_STATE_DEL)
def delete(self): """删除对象 """ return MemObject.update(self, '_state', MMODE_STATE_DEL)
def get(self, key): n_time = time.time() MemObject.update(self, "_time", n_time) return MemObject.get(self, key)
def delete_mem_only(self): ''''仅删除缓存对象 ''' MemObject.update(self, '_state', MMODE_STATE_DEL) # add by yzw self.mdelete()
def delete(self): '''删除对象 ''' return MemObject.update(self, '_state', 3)
def delete(self): '''删除对象 ''' return MemObject.update(self, '_state', MMODE_STATE_DEL)