Пример #1
0
    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)
Пример #2
0
 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)
Пример #3
0
 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)
Пример #4
0
 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())
Пример #5
0
 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
Пример #6
0
 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
Пример #7
0
    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})
Пример #8
0
 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
Пример #9
0
 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
Пример #10
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)
Пример #11
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)
Пример #12
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)
Пример #13
0
 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
Пример #14
0
 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
Пример #15
0
 def delete(self):
     '''删除对象
     '''
     return MemObject.update(self,'_state',3)
Пример #16
0
 def get_multi(self, keys):
     ntime = time.time()
     MemObject.update(self, "_time", ntime)
     return MemObject.get_multi(self, keys)
Пример #17
0
 def delete(self):
     '''删除对象
     '''
     return MemObject.update(self,'_state',MMODE_STATE_DEL)
Пример #18
0
 def delete(self):
     """删除对象
     """
     return MemObject.update(self, '_state', MMODE_STATE_DEL)
Пример #19
0
 def get(self, key):
     n_time = time.time()
     MemObject.update(self, "_time", n_time)
     return MemObject.get(self, key)
Пример #20
0
 def delete_mem_only(self):
     ''''仅删除缓存对象
     '''
     MemObject.update(self, '_state', MMODE_STATE_DEL)  # add by yzw
     self.mdelete()
Пример #21
0
 def delete(self):
     '''删除对象
     '''
     return MemObject.update(self, '_state', 3)
Пример #22
0
 def delete(self):
     """删除对象
     """
     return MemObject.update(self, '_state', MMODE_STATE_DEL)
Пример #23
0
 def get_multi(self, keys):
     ntime = time.time()
     MemObject.update(self, "_time", ntime)
     return MemObject.get_multi(self, keys)
Пример #24
0
 def get(self, key):
     n_time = time.time()
     MemObject.update(self, "_time", n_time)
     return MemObject.get(self, key)
Пример #25
0
 def delete(self):
     '''删除对象
     '''
     return MemObject.update(self, '_state', MMODE_STATE_DEL)