コード例 #1
0
ファイル: session.py プロジェクト: imlyj/QcoreCMS
    def getData(sessionId):
        thisTime = int(time.time())
        data = mySql.use(MySql.table).where('id = ?',sessionId).get()

        if data :
            if data['time_out'] < thisTime :
                mySql.use(MySql.table).where('id = ?',sessionId).delete()
                return {}

            # 维持生命周期
            if int(data['time_out']) - thisTime < int(data['left_time']) / 2:
                mySql.use(MySql.table).where('id = ?',sessionId).save({
                    'time_out' : thisTime + int(data['left_time'])
                })

            session = util.json.decode(data['values'], {})

            # 退出其它用户
            if session.get('current_user' , False) :
                if session['current_user'].get('userId' , False) :
                    mySql.use(MySql.table).where('id != ?',sessionId)\
                                          .where('user_id = ?',session['current_user']['userId'])\
                                          .delete()

            return session

        return {}
コード例 #2
0
ファイル: session.py プロジェクト: imlyj/QcoreCMS
    def setData(sessionId , data , leftTime = 1800):
        thisTime = int(time.time())
        userId = 0
        if data.get('current_user' , False) :
            if data['current_user'].get('userId' , False) :
                userId = data['current_user']['userId']

        
        if 0 == mySql.use(MySql.table).where('id = ?',sessionId).count() :
            mySql.use(MySql.table).add({
                'time_out' : thisTime + int(leftTime) ,
                'left_time' : leftTime ,
                'user_id' : userId ,
                'id' : sessionId ,
                'values' : util.json.encode(data)
            })
        else:
            mySql.use(MySql.table).where('id = ?',sessionId).save({
                'time_out' : thisTime + int(leftTime) ,
                'left_time' : leftTime ,
                'user_id' : userId ,
                'values' : util.json.encode(data)
            })
コード例 #3
0
ファイル: session.py プロジェクト: imlyj/QcoreCMS
 def deleteData(sessionId):
     mySql.use(MySql.table).where('id = ?',sessionId).delete()