示例#1
0
文件: eqp.py 项目: wncbb/trainWeb
 def update_eqp(ip, mac, name, sensorId):
     '''
     :param ip:
     :param mac:
     '''
     #ret = 1
     #ret = Eqp.check(name, 1, ip, mac, sensorId)
     #if(ret != 1):
     #    return ret
     query = session.query(Eqp.ftime)
     tmpEqp = query.filter(and_(Eqp.ip == ip, Eqp.mac == mac)).first()
     if (tmpEqp == None):
         session.query(Eqp).filter(Eqp.ip == ip, Eqp.mac == mac).update({
             'ftime':
             datetime.now(),
             'ltime':
             datetime.now(),
             'sensorId':
             sensorId,
             'name':
             name
         })
         session.commit()
     else:
         session.query(Eqp).filter(Eqp.ip == ip, Eqp.mac == mac).update({
             'ltime':
             datetime.now(),
             'sensorId':
             sensorId,
             'name':
             name
         })
         session.commit()
     return
示例#2
0
文件: sensor.py 项目: wncbb/trainWeb
 def update_sensor2(inData):
     '''
     :param inData:
     :return: {0:'errror', 1:'success', 2:'no this id', 3:'iData has no key id', 21:''}
     '''
     ret=1
     if(not inData.has_key('id')):
         ret=3
         return ret
     query=session.query(Sensor)
     tmpSensor=query.filter(Sensor.id==inData['id']).first()
     if(tmpSensor==None):
         ret=2
         return ret
     if(inData.has_key('name')):
         tmpSensor.name=inData['name']
     if(inData.has_key('number')):
         tmpSensor.number=inData['number']
     if(inData.has_key('ip')):
         tmpSensor.ip=inData['ip']
     if(inData.has_key('mac')):
         tmpSensor.mac=inData['mac']
     if(inData.has_key('stationId')):
         if(int(inData['stationId'])!=0):
             stationQuery=session.query(Station)
             tmpStation=stationQuery.filter(Station.id==inData['stationId']).first()
             if(tmpStation==None):
                 ret=21
                 return ret
             else:
                 tmpSensor.stationId=tmpStation.id
         else:
             tmpSensor.stationId=0
     session.commit()
     return ret
示例#3
0
文件: sensor.py 项目: wncbb/trainWeb
    def info(inData):
        from auth import Auth
        pureData=Sensor.select(inData)

        stationInfo={}
        authInfo={}
        userInfo={}

        stationQuery=session.query(Station)
        authQuery=session.query(Auth)
        userQuery=session.query(User)
        for tmp in pureData['data']:
            t=tmp['stationId']

            tmpAllStation=Station.select({'id': int(t)})
            if(len(tmpAllStation['data'])==0):
                tmp['stationName']='not find'
            else:
                tmp['stationName']=tmpAllStation['data'][0]['name']

            tmpAllAuth=Auth.select({'sensorId': int(tmp['id'])})
            if(len(tmpAllAuth['data'])==0):
                tmp['username']='******'
                tmp['userId']=-1
            else:
                tmpAllUser=User.select({'id': int(tmpAllAuth['data'][0]['userId'])})
                if(len(tmpAllUser['data'])==0):
                    tmp['username']='******'
                    tmp['userId']=-1
                else:
                    tmp['username']=tmpAllUser['data'][0]['username']
                    tmp['userId']=tmpAllUser['data'][0]['id']

        return pureData
示例#4
0
 def delSensor(inData):
     '''
     :param: inData
     :return: {1:'success', 2:'permission denied', 3:'no sensor', 4:'wrong param', 5:''}
     '''
     from auth import Auth
     from eqp import Eqp
     if (('UserId' in inData) and ('SensorId' in inData)):
         updateUser = session.query(Auth).filter(
             Auth.userId == inData['UserId'],
             Auth.sensorId == inData['SensorId'], Auth.valid == 1).first()
         if (updateUser == None):
             updateUserLevel = session.query(User.level).filter(
                 User.id == inData['UserId'], User.valid == 1).first()
             if (updateUserLevel == None or int(updateUserLevel[0]) != 0):
                 return 2
         tmpSensor = session.query(Sensor).filter(
             Sensor.id == inData['SensorId'], Sensor.valid == 1).first()
         if (tmpSensor == None):
             return 3
         session.query(Sensor).filter(Sensor.id == inData['SensorId'],
                                      Sensor.valid == 1).update({
                                          'valid':
                                          0,
                                          'time':
                                          datetime.now()
                                      })
         Auth.delAuth({'SensorId': inData['SensorId']})
         Eqp.delEqp({'SensorId': inData['SensorId']})
         session.commit()
         return 1
     else:
         return 4
示例#5
0
    def info(inData):
        from auth import Auth
        pureData = Sensor.select(inData)

        stationInfo = {}
        authInfo = {}
        userInfo = {}

        stationQuery = session.query(Station)
        authQuery = session.query(Auth)
        userQuery = session.query(User)
        for tmp in pureData['data']:
            t = tmp['stationId']

            tmpAllStation = Station.select({'id': int(t)})
            if (len(tmpAllStation['data']) == 0):
                tmp['stationName'] = 'not find'
            else:
                tmp['stationName'] = tmpAllStation['data'][0]['name']

            tmpAllAuth = Auth.select({'sensorId': int(tmp['id'])})
            if (len(tmpAllAuth['data']) == 0):
                tmp['username'] = '******'
                tmp['userId'] = -1
            else:
                tmpAllUser = User.select(
                    {'id': int(tmpAllAuth['data'][0]['userId'])})
                if (len(tmpAllUser['data']) == 0):
                    tmp['username'] = '******'
                    tmp['userId'] = -1
                else:
                    tmp['username'] = tmpAllUser['data'][0]['username']
                    tmp['userId'] = tmpAllUser['data'][0]['id']

        return pureData
示例#6
0
 def deleteUser(inData):
     '''
     :param inData:
     :return: {1:'success', 2:'no user', 3:'permission denied', 4:'failed'}
     '''
     from auth import Auth
     if (('updateId' in inData) and ('delId' in inData)):
         updateUserLevel = session.query(User.level).filter(
             User.id == inData['updateId'], User.valid == 1).first()
         if (updateUserLevel is None or int(updateUserLevel[0]) != 0):
             return 3
         else:
             chgUser = session.query(User).filter(
                 User.id == inData['delId'], User.valid == 1).first()
             if (chgUser is None):
                 return 2
             else:
                 session.query(User).filter(
                     User.id == inData['delId']).update({
                         'valid':
                         0,
                         'time':
                         datetime.now()
                     })
                 session.commit()
                 Auth.delAuth({'UserId': inData['delId']})
                 return 1
     else:
         return 4
示例#7
0
 def delStation(inData):
     '''
     :param: inData
     :return: {1:'success', 2:'failed', 3:'permission denied', 4:'param wrong'}
     '''
     from user import User
     from sensor import Sensor
     if(('UserId' in inData) and ('StationId' in inData)):
         updateUserLevel = session.query(
             User.level).filter(
             User.id == inData['UserId'],
             User.valid == 1).first()
         if(updateUserLevel is None or int(updateUserLevel[0] != 0)):
             return 3
         else:
             session.query(Station).filter(Station.id == inData['StationId'], Station.valid == 1).update(
                 {'valid': 0, 'time': datetime.now()})
             delSensorId = session.query(
                 Sensor.id).filter(
                 Sensor.stationId == inData['StationId'],
                 Sensor.valid == 1).all()
             for sensorId in delSensorId:
                 Sensor.delSensor(
                     {'UserId': inData['UserId'], 'SensorId': int(sensorId[0])})
             session.commit()
             return 1
     else:
         return 4
示例#8
0
文件: host.py 项目: wncbb/trainWeb
 def updateHost(Name_DICT = {}):
     '''
     :param Name_DICT:
     :return: {1:'success', 2:'name is empty', 3:'failed'}
     '''
     try:
         if(Name_DICT == None):
             return 3
         for name in Name_DICT.keys():
             #print("add name: %s" %name)
             ret = 1
             ret = Host.check(name)
             if(ret == 1):
                 Host.add(name,Name_DICT[name])
                 continue
             elif(ret == 2):
                 curCount = session.query(Host.count).filter(Host.name == name).first()
                 if(curCount == None):
                     continue
                 else:
                     count = int(curCount[0]) + Name_DICT[name]
                     session.query(Host).filter(Host.name == name).update({'count':count, 'ltime':datetime.now()})
                     session.commit()
             else:
                 continue
     except:
         session.rollback()
     finally:
         session.close()
     return 1;
示例#9
0
    def check(userId, sensorId):
        '''
        :param userId:
        :param sensorId:
        :return: {1:'success', 2:'userId not exist', 3:'sensorId not exist', 4:'authority exist'}
        '''
        ret = 1
        userQuery = session.query(User)
        tmpUser = userQuery.filter(User.id == userId).first()
        if (tmpUser == None):
            ret = 2
            return ret
        sensorQuery = session.query(Sensor)
        tmpSensor = sensorQuery.filter(Sensor.id == sensorId)
        if (tmpSensor == None):
            ret = 3
            return ret

        query = session.query(Auth)
        tmpAuth = query.filter(Auth.userId == userId,
                               Auth.sensorId == sensorId).first()
        if (tmpAuth != None):
            ret = 4
            return ret
        return ret
示例#10
0
 def updateOutip(Name_DICT={}):
     '''
     :param Name_DICT:
     :return: {1:'success', 2:'name is empty', 3:'failed'}
     '''
     try:
         if (Name_DICT is None):
             return 3
         for name in Name_DICT.keys():
             ret = 1
             ret = Outip.check(name)
             if (ret == 1):
                 Outip.add(name, Name_DICT[name])
                 continue
             elif (ret == 2):
                 curCount = session.query(
                     Outip.count).filter(Outip.name == name).first()
                 if (curCount is None):
                     continue
                 else:
                     count = int(curCount[0]) + Name_DICT[name]
                     session.query(Outip).filter(Outip.name == name).update(
                         {
                             'count': count,
                             'ltime': datetime.now()
                         })
                     session.commit()
             else:
                 continue
     except BaseException:
         session.rollback()
     finally:
         session.close()
     return 1
示例#11
0
 def update_data(self,datas,id):
     try:
         datas.pop("id")
         print(datas)
         session.query(ProductModel).filter(ProductModel.id == id).update(datas)
         session.commit()
         return True
     except:
         session.rollback()
示例#12
0
文件: user.py 项目: wncbb/trainWeb
 def updateUser(inData):
     '''
     :param inData:
     :return: {1:'update success', 2:'no user', 3:'permission denied', 4:'username repeat', 5:'failed(wrong param)'}
     '''
     if(('updateId' in inData) and ('id' in inData) and (('newUsername' in inData) or ('newPasswd' in inData) or ('newLevel' in inData))):
         updateUserLevel = session.query(User.level).filter(User.id == inData['updateId'], User.valid == 1).first()
         if(updateUserLevel == None or int(updateUserLevel[0]) != 0):
             return 3
         else:
             chgUser = session.query(User).filter(User.id == inData['id'], User.valid == 1).first()
             if(chgUser == None):
                 return 2
             if('newUsername' in inData and inData['newUsername'] != ''):
                 tmp = User.check(inData['newUsername'])
                 if(tmp == 1):
                     session.query(User).filter(User.id == inData['id']).update({'username':inData['newUsername'], 'time':datetime.now()})
                 else:
                     return 4
             if('newPasswd' in inData and inData['newPasswd'] != ''):
                 userName = session.query(User.username).filter(User.id == inData['id']).first()
                 md5Passwd = User.getMd5Pw(userName[0], inData['newPasswd'])
                 session.query(User).filter(User.id == inData['id']).update({'passwd':md5Passwd, 'time':datetime.now()})
             if('newLevel' in inData and inData['newLevel'] != ''):
                 session.query(User).filter(User.id == inData['id']).update({'level':inData['newLevel'], 'time':datetime.now()})
             session.commit()
             return 1
     else:
         return 5
示例#13
0
 def info(num):
     ret = {'data': []}
     query = session.query(Atktype6)
     n = session.query(Atktype6).filter().count()
     pureData = query.offset(n - 7).limit(num).all()
     for tmpData in pureData:
         tmp = {}
         tmp['date'] = tmpData.date
         tmp['count'] = tmpData.count
         ret['data'].append(tmp)
     return ret
示例#14
0
文件: eqp.py 项目: wncbb/trainWeb
 def updateAuth(inData):
     '''
     :param: inData
     :return: {1:'success', 2:'wrong param', 3:'no eqp id'}
     '''
     if('EqpId' in inData):
         if('Auth' in inData and inData['Auth'] != ''):
             session.query(Eqp).filter(Eqp.id == inData['Eqpid'], Eqp.valid == 1).update({'authority':inData['Auth']})
         if('Number' in inData and inData['Number'] != ''):
             session.query(Eqp).filter(Eqp.id == inData['Eqpid'], Eqp.valid == 1).update({'number':inData['Number']})
         session.commit()
         return 1
     else:
         return 2
示例#15
0
文件: eqp.py 项目: wncbb/trainWeb
 def delEqp(inData):
     '''
     :param: inData
     :return: {1:'success', 2:'wrong param'}
     '''
     if('SensorId' in inData):
         session.query(Eqp).filter(Eqp.sensorId == inData['SensorId'], Eqp.valid == 1).update({'valid':0})
         session.commit()
         return 1
     elif('EqpId' in inData):
         session.query(Eqp).filter(Eqp.id == inData['EqpId'], Eqp.valid == 1).update({'valid':0})
         session.commit()
         return 1
     else:
         return 2
示例#16
0
文件: eqp.py 项目: wncbb/trainWeb
    def update_eqp2(inData, level, userId):
        '''
        :param inData:
        :return: {0:'errror', 1:'success', 12:'no this id', 13:'iData has no key id'}
        '''

        ret = 1
        if (not inData.has_key('id')):
            ret = 3
            return ret

        query = session.query(Eqp)
        tmpEqp = query.filter(Eqp.id == inData['id']).first()
        if (tmpEqp == None):
            ret = 2
            return ret

        if (level == 1):
            from auth import Auth
            authQuery = session.query(Auth)
            from sensor import Sensor
            sensorQuery = session.query(Sensor)
            tmpSensor = sensorQuery.filter(
                Sensor.mac == tmpEqp.sensorMac).first()
            if (tmpSensor == None):
                ret = 2
                return ret

            tmpAuth = authQuery.filter(Auth.userId == userId,
                                       Auth.sensorId == tmpSensor.id).first()
            if (tmpAuth == None):
                ret = 2
                return ret

        if (inData.has_key('name')):
            tmpEqp.name = inData['name']
        if (inData.has_key('number')):
            tmpEqp.number = inData['number']
        if (inData.has_key('ip')):
            tmpEqp.ip = inData['ip']
        if (inData.has_key('mac')):
            tmpEqp.mac = inData['mac']
        if (inData.has_key('authority')):
            tmpEqp.authority = inData['authority']
        if (inData.has_key('valid')):
            tmpEqp.valid = inData['valid']
        session.commit()
        return ret
示例#17
0
    def retData(timeSpan, inType):
        if (inType == 'py'):
            query = session.query(Atkinfo)
            sensorQuery = session.query(Sensor)
            nowTime = time.time()
            limitTime = nowTime - timeSpan
            allInfos = query.filter(
                and_(Atkinfo.pyRead == 0, Atkinfo.atkTime > limitTime))
            ret = []
            for tmpInfo in allInfos:
                tmpInfo.pyRead = 1
                tmp = {}
                tmp['attackId'] = tmpInfo.atkId
                tmp['time'] = time.strftime("%Y-%m-%d %H:%M:%S",
                                            time.localtime(tmpInfo.atkTime))

                tmpSensor = sensorQuery.filter(
                    Sensor.mac == tmpInfo.sensorMac).first()
                if (tmpSensor is not None):
                    tmp['sensorId'] = tmpSensor.number
                else:
                    tmp['sensorId'] = 'not known'

                tmp['src'] = {}
                tmp['src']['ip'] = tmpInfo.srcIp
                tmp['src']['port'] = tmpInfo.srcPort
                tmp['src']['lng'] = float(tmpInfo.srcLng)
                tmp['src']['lat'] = float(tmpInfo.srcLat)
                tmp['src']['name'] = ''

                tmp['dst'] = {}
                tmp['dst']['ip'] = tmpInfo.dstIp
                tmp['dst']['port'] = tmpInfo.dstPort
                tmp['dst']['lng'] = float(tmpInfo.dstLng)
                tmp['dst']['lat'] = float(tmpInfo.dstLat)
                tmp['dst']['name'] = ''

                tmp['protocalA'] = tmpInfo.cmProtocal
                tmp['trails'] = tmpInfo.trails
                tmp['references'] = tmpInfo.refer
                tmp['infos'] = tmpInfo.infos
                ret.append(tmp)
                session.delete(tmpInfo)

            session.commit()
            return ret
        else:
            return {}
示例#18
0
文件: eqp.py 项目: wncbb/trainWeb
    def update_eqp2(inData, level, userId):
        '''
        :param inData:
        :return: {0:'errror', 1:'success', 12:'no this id', 13:'iData has no key id'}
        '''

        ret=1
        if(not inData.has_key('id')):
            ret=3
            return ret

        query=session.query(Eqp)
        tmpEqp=query.filter(Eqp.id==inData['id']).first()
        if(tmpEqp==None):
            ret=2
            return ret

        if(level==1):
            from auth import Auth
            authQuery=session.query(Auth)
            from sensor import Sensor
            sensorQuery=session.query(Sensor)
            tmpSensor=sensorQuery.filter(Sensor.mac==tmpEqp.sensorMac).first()
            if(tmpSensor==None):
                ret=2
                return ret

            tmpAuth=authQuery.filter(Auth.userId==userId, Auth.sensorId==tmpSensor.id).first()
            if(tmpAuth==None):
                ret=2
                return ret



        if(inData.has_key('name')):
            tmpEqp.name=inData['name']
        if(inData.has_key('number')):
            tmpEqp.number=inData['number']
        if(inData.has_key('ip')):
            tmpEqp.ip=inData['ip']
        if(inData.has_key('mac')):
            tmpEqp.mac=inData['mac']
        if(inData.has_key('authority')):
            tmpEqp.authority=inData['authority']
        if(inData.has_key('valid')):
            tmpEqp.valid=inData['valid']
        session.commit()
        return ret
示例#19
0
文件: sensor.py 项目: wncbb/trainWeb
    def check(name, number, ip, mac, stationId):
        '''
        :param name:
        :param number:
        :param stationId:
        :return:{1:'success', 2:'name repeat', 3:'number repeat', 4:'mac repeat', 5:'station id dose not exist', 6:'sensor name is empty', 7:'sensor number is empty'
        8:'sensor ip is empty',
        9:'sensor mac is empty',
        }
        '''
        ret=1
        if(name==''):
            ret=6
            return ret
        if(number==''):
            ret=7
            return ret

        if(mac==''):
            ret=9
            return ret

        if(ip==''):
            ret=8
            return ret




        query=session.query(Sensor)
        tmpSensor=query.filter(or_(Sensor.name==name, Sensor.number==number, Sensor.mac==mac), Sensor.valid == 1).all()
        for tSensor in tmpSensor:
            if(tSensor.name==name):
                ret=2
                return ret
            if(tSensor.number==number):
                ret=3
                return ret
            if(tSensor.mac==mac):
                ret=4
                return ret

        stationQuery=session.query(Station)
        tmpStation=stationQuery.filter_by(id=stationId, valid=1).first()
        if(tmpStation==None):
            ret=5
            return ret
        return ret
示例#20
0
文件: sensor.py 项目: wncbb/trainWeb
    def select(inData):
        ret={}
        ret['status']=1
        ret['data']=[]
        ret['pureData']=[]
        query=session.query(Sensor)
        allSensor=None

        if('id' in inData):
            allSensor=query.filter(Sensor.id==inData['id'], Sensor.valid==1).all()
        elif('number' in inData):
            allSensor=query.filter(Sensor.number==inData['number'], Sensor.valid==1).all()
        elif('name' in inData):
            allSensor=query.filter(Sensor.name==inData['name'], Sensor.valid==1).all()
        elif('mac' in inData):
            allSensor=query.filter(Sensor.mac==inData['mac'], Sensor.valid==1).all()
        elif('stationId' in inData):
            allSensor=query.filter(Sensor.stationId==inData['stationId'], Sensor.valid==1).all()
        else:
            allSensor=query.filter(Sensor.valid==1).all()

        for tmpData in allSensor:
            tmp={}
            tmp['id']=tmpData.id
            tmp['name']=tmpData.name
            tmp['number']=tmpData.number
            tmp['ip']=tmpData.ip
            tmp['mac']=tmpData.mac
            tmp['stationId']=tmpData.stationId
            tmp['time']=tmpData.time

            ret['data'].append(tmp)
            ret['pureData'].append(tmpData)
        return ret
示例#21
0
文件: eqp.py 项目: wncbb/trainWeb
    def select(inData):
        ret = {}
        ret['status'] = 1
        ret['data'] = []
        query = session.query(Eqp)
        allEqp = None

        if ('id' in inData):
            allEqp = query.filter(Eqp.id == inData['id']).all()
        elif ('number' in inData):
            allEqp = query.filter(Eqp.number == inData['number']).all()
        elif ('name' in inData):
            allEqp = query.filter(Eqp.name == inData['name']).all()
        elif ('sensorMac' in inData):
            allEqp = query.filter(Eqp.sensorMac == inData['sensorMac']).all()
        else:
            allEqp = query.filter().all()

        for tmpData in allEqp:
            if (tmpData.valid == 0):
                next
            tmp = {}
            tmp['id'] = tmpData.id
            tmp['name'] = tmpData.name
            tmp['number'] = tmpData.number
            tmp['ip'] = tmpData.ip
            tmp['mac'] = tmpData.mac
            tmp['ftime'] = tmpData.ftime
            tmp['ltime'] = tmpData.ltime
            tmp['authority'] = tmpData.authority
            tmp['sensorMac'] = tmpData.sensorMac
            tmp['online'] = tmpData.online
            tmp['valid'] = tmpData.valid
            ret['data'].append(tmp)
        return ret
示例#22
0
文件: station.py 项目: wncbb/trainWeb
    def delete_station2(inData):
        '''
        :param inData:
        :return:{
            2:'there is no id in inData',
            3:'there is no such id'
        }
        '''
        ret=0
        if(not inData.has_key('id')):
            ret=2
            return ret

        query=session.query(Station)
        tmpStation=query.filter(Station.id==inData['id']).first()
        if(tmpStation==None):
            ret=3
            return ret
        else:
            from sensor import Sensor
            tmpAllSensor=Sensor.select({'stationId': tmpStation.id})
            for tmpSensor in tmpAllSensor['pureData']:
                tmpSensor.stationId=0
            session.delete(tmpStation)
            session.commit()
            ret=1
            return ret
示例#23
0
文件: user.py 项目: wncbb/trainWeb
    def select(inData):
        ret={}
        ret['data']=[]
        ret['pureData']=[]
        ret['status']=1
        query=session.query(User)
        allUser=None
        if('id' in inData):
            allUser=query.filter(User.id==inData['id'], User.valid==1).all()
        elif('username' in inData):
            allUser=query.filter(User.username==inData['username'], User.valid==1).all()
        elif('level' in inData):
            allUser=query.filter(User.level==inData['level'], User.valid==1).all()
        else:
            allUser=query.filter(User.valid==1).all()

        for tmpData in allUser:
            tmp={}
            tmp['id']=tmpData.id
            tmp['username']=tmpData.username
            tmp['level']=tmpData.level
            #tmp['passwd']=tmpData.passwd
            ret['data'].append(tmp)
            ret['pureData'].append(tmpData)

        return ret
示例#24
0
文件: station.py 项目: wncbb/trainWeb
    def select(inData):
        ret={}
        ret['status']=1
        ret['data']=[]
        ret['pureData']=[]
        query=session.query(Station)
        allStation=None

        if('id' in inData):
            allStation=query.filter(Station.id==inData['id'], Station.valid == 1).all()
        elif('number' in inData):
            allStation=query.filter(Station.number==inData['number'], Station.valid == 1).all()
        elif('name' in inData):
            allStation=query.filter(Station.name==inData['name'], Station.valid == 1).all()
        else:
            allStation=query.filter(Station.valid == 1).all()

        for tmpData in allStation:
            tmp={}
            tmp['id']=tmpData.id
            tmp['name']=tmpData.name
            tmp['number']=tmpData.number
            tmp['supervisor']=tmpData.supervisor
            tmp['phone']=tmpData.phone
            tmp['time']=tmpData.time
            ret['data'].append(tmp)
            ret['pureData'].append(tmpData)
        return ret
示例#25
0
文件: eqp.py 项目: wncbb/trainWeb
    def select(inData):
        ret={}
        ret['status']=1
        ret['data']=[]
        query=session.query(Eqp)
        allEqp=None

        if('id' in inData):
            allEqp=query.filter(Eqp.id==inData['id']).all()
        elif('number' in inData):
            allEqp=query.filter(Eqp.number==inData['number']).all()
        elif('name' in inData):
            allEqp=query.filter(Eqp.name==inData['name']).all()
        elif('sensorMac' in inData):
            allEqp=query.filter(Eqp.sensorMac==inData['sensorMac']).all()
        else:
            allEqp=query.filter().all()

        for tmpData in allEqp:
            if(tmpData.valid==0):
                next
            tmp={}
            tmp['id']=tmpData.id
            tmp['name']=tmpData.name
            tmp['number']=tmpData.number
            tmp['ip']=tmpData.ip
            tmp['mac']=tmpData.mac
            tmp['ftime']=tmpData.ftime
            tmp['ltime']=tmpData.ltime
            tmp['authority']=tmpData.authority
            tmp['sensorMac']=tmpData.sensorMac
            tmp['online']=tmpData.online
            tmp['valid']=tmpData.valid
            ret['data'].append(tmp)
        return ret
示例#26
0
    def delete_station2(inData):
        '''
        :param inData:
        :return:{
            2:'there is no id in inData',
            3:'there is no such id'
        }
        '''
        ret = 0
        if('id' not in inData):
            ret = 2
            return ret

        query = session.query(Station)
        tmpStation = query.filter(Station.id == inData['id']).first()
        if(tmpStation is None):
            ret = 3
            return ret
        else:
            from sensor import Sensor
            tmpAllSensor = Sensor.select({'stationId': tmpStation.id})
            for tmpSensor in tmpAllSensor['pureData']:
                tmpSensor.stationId = 0
            session.delete(tmpStation)
            session.commit()
            ret = 1
            return ret
示例#27
0
    def select(inData):
        ret = {}
        ret['data'] = []
        ret['pureData'] = []
        ret['status'] = 1
        query = session.query(User)
        allUser = None
        if ('id' in inData):
            allUser = query.filter(User.id == inData['id'],
                                   User.valid == 1).all()
        elif ('username' in inData):
            allUser = query.filter(User.username == inData['username'],
                                   User.valid == 1).all()
        elif ('level' in inData):
            allUser = query.filter(User.level == inData['level'],
                                   User.valid == 1).all()
        else:
            allUser = query.filter(User.valid == 1).all()
        # print allUser
        for tmpData in allUser:
            tmp = {}
            tmp['id'] = tmpData.id
            tmp['username'] = tmpData.username
            tmp['level'] = tmpData.level
            # tmp['passwd']=tmpData.passwd
            ret['data'].append(tmp)
            ret['pureData'].append(tmpData)

        return ret
示例#28
0
    def check(name, number):
        '''
        1: 'success',
        2: 'name repeat'
        3: 'number repeat'
        4: 'name is empty'
        5: 'number is empty'
        '''
        ret = 1
        if(name == ''):
            ret = 4
            return ret
        if(number == ''):
            ret = 5
            return ret

        query = session.query(Station)
        tmpStation = query.filter(
            or_(Station.name == name, Station.number == number), Station.valid == 1).all()
        for tStation in tmpStation:
            if(tStation.name == name):
                ret = 2
                return ret
            if(tStation.number == number):
                ret = 3
                return ret

        return ret
示例#29
0
文件: auth.py 项目: wncbb/trainWeb
    def select(inData):
        ret={}
        ret['status']=1
        ret['data']=[]
        ret['pureData']=[]
        query=session.query(Auth)
        allAuth=None

        if('id' in inData):
            allAuth=query.filter(Auth.id==inData['id']).all()
        elif('userId' in inData):
            allAuth=query.filter(Auth.userId==inData['usreId']).all()
        elif('sensorId' in inData):
            allAuth=query.filter(Auth.sensorId==inData['sensorId']).all()
        else:
            allAuth=query.filter().all()

        for tmpData in allAuth:
            tmp={}
            tmp['id']=tmpData.id
            tmp['userId']=tmpData.userId
            tmp['sensorId']=tmpData.sensorId
            ret['data'].append(tmp)
            ret['pureData'].append(tmpData)
        return ret
示例#30
0
    def select(inData):
        ret = {}
        ret['status'] = 1
        ret['data'] = []
        ret['pureData'] = []
        query = session.query(Station)
        allStation = None

        if('id' in inData):
            allStation = query.filter(
                Station.id == inData['id'],
                Station.valid == 1).all()
        elif('number' in inData):
            allStation = query.filter(
                Station.number == inData['number'],
                Station.valid == 1).all()
        elif('name' in inData):
            allStation = query.filter(
                Station.name == inData['name'],
                Station.valid == 1).all()
        else:
            allStation = query.filter(Station.valid == 1).all()

        for tmpData in allStation:
            tmp = {}
            tmp['id'] = tmpData.id
            tmp['name'] = tmpData.name
            tmp['number'] = tmpData.number
            tmp['supervisor'] = tmpData.supervisor
            tmp['phone'] = tmpData.phone
            tmp['time'] = tmpData.time
            ret['data'].append(tmp)
            ret['pureData'].append(tmpData)
        return ret
示例#31
0
文件: station.py 项目: wncbb/trainWeb
    def check(name, number):
        '''
        1: 'success',
        2: 'name repeat'
        3: 'number repeat'
        4: 'name is empty'
        5: 'number is empty'
        '''
        ret=1
        if(name==''):
            ret=4
            return ret
        if(number==''):
            ret=5
            return ret


        query=session.query(Station)
        tmpStation=query.filter(or_(Station.name==name, Station.number==number), Station.valid == 1).all()
        for tStation in tmpStation:
            if(tStation.name==name):
                ret=2
                return ret
            if(tStation.number==number):
                ret=3
                return ret

        return ret
示例#32
0
    def select(inData):
        ret = {}
        ret['status'] = 1
        ret['data'] = []
        ret['pureData'] = []
        query = session.query(Auth)
        allAuth = None

        if ('id' in inData):
            allAuth = query.filter(Auth.id == inData['id']).all()
        elif ('userId' in inData):
            allAuth = query.filter(Auth.userId == inData['usreId']).all()
        elif ('sensorId' in inData):
            allAuth = query.filter(Auth.sensorId == inData['sensorId']).all()
        else:
            allAuth = query.filter().all()

        for tmpData in allAuth:
            tmp = {}
            tmp['id'] = tmpData.id
            tmp['userId'] = tmpData.userId
            tmp['sensorId'] = tmpData.sensorId
            ret['data'].append(tmp)
            ret['pureData'].append(tmpData)
        return ret
示例#33
0
    def check(name, number, ip, mac, stationId):
        '''
        :param name:
        :param number:
        :param stationId:
        :return:{1:'success', 2:'name repeat', 3:'number repeat', 4:'mac repeat', 5:'station id dose not exist', 6:'sensor name is empty', 7:'sensor number is empty'
        8:'sensor ip is empty',
        9:'sensor mac is empty',
        }
        '''
        ret = 1
        if (name == ''):
            ret = 6
            return ret
        if (number == ''):
            ret = 7
            return ret

        if (mac == ''):
            ret = 9
            return ret

        if (ip == ''):
            ret = 8
            return ret

        query = session.query(Sensor)
        tmpSensor = query.filter(
            or_(Sensor.name == name, Sensor.number == number,
                Sensor.mac == mac), Sensor.valid == 1).all()
        for tSensor in tmpSensor:
            if (tSensor.name == name):
                ret = 2
                return ret
            if (tSensor.number == number):
                ret = 3
                return ret
            if (tSensor.mac == mac):
                ret = 4
                return ret

        stationQuery = session.query(Station)
        tmpStation = stationQuery.filter_by(id=stationId, valid=1).first()
        if (tmpStation == None):
            ret = 5
            return ret
        return ret
示例#34
0
文件: eqp.py 项目: wncbb/trainWeb
 def delEqp(inData):
     '''
     :param: inData
     :return: {1:'success', 2:'wrong param'}
     '''
     if ('SensorId' in inData):
         session.query(Eqp).filter(Eqp.sensorId == inData['SensorId'],
                                   Eqp.valid == 1).update({'valid': 0})
         session.commit()
         return 1
     elif ('EqpId' in inData):
         session.query(Eqp).filter(Eqp.id == inData['EqpId'],
                                   Eqp.valid == 1).update({'valid': 0})
         session.commit()
         return 1
     else:
         return 2
示例#35
0
 def check(username):
     ret = 1
     query = session.query(User)
     tmpUser = query.filter_by(username=username, valid=1).first()
     # tmpUser=query.filter(User.username==username).first()
     if (tmpUser is not None):
         ret = 3
     return ret
示例#36
0
 def post(self, *args, **kwargs):
     user_id = self.get_argument('id')
     delete_user = session.query(User).filter(User.id==user_id).delete()
     if delete_user:
         session.commit()
         self.write('删除用户成功')
     else:
         self.write('没有该用户,无需删除!')
示例#37
0
文件: user.py 项目: wncbb/trainWeb
 def check(username):
     ret=1
     query=session.query(User)
     tmpUser=query.filter_by(username=username, valid=1).first()
     #tmpUser=query.filter(User.username==username).first()
     if(tmpUser!=None):
         ret=3
     return ret
示例#38
0
文件: eqp.py 项目: wncbb/trainWeb
 def update_eqp(ip, mac, name, sensorId):
     '''
     :param ip:
     :param mac:
     '''
     #ret = 1
     #ret = Eqp.check(name, 1, ip, mac, sensorId)
     #if(ret != 1):
     #    return ret
     query = session.query(Eqp.ftime)
     tmpEqp = query.filter(and_(Eqp.ip == ip, Eqp.mac == mac)).first()
     if(tmpEqp == None):
         session.query(Eqp).filter(Eqp.ip == ip, Eqp.mac == mac).update({'ftime':datetime.now(), 'ltime':datetime.now(), 'sensorId':sensorId, 'name':name})
         session.commit()
     else:
         session.query(Eqp).filter(Eqp.ip == ip, Eqp.mac == mac).update({'ltime':datetime.now(), 'sensorId':sensorId, 'name':name})
         session.commit()
     return
示例#39
0
文件: eqp.py 项目: wncbb/trainWeb
 def change_authority(id, isAuth):
     query=session.query(Eqp);
     tmpEqp=query.filter(Eqp.id==id).first()
     ret=0
     if(tmpEqp!=None):
         tmpEqp.authority=isAuth
         session.commit()
         ret=1
     return ret
示例#40
0
文件: eqp.py 项目: wncbb/trainWeb
 def change_authority(id, isAuth):
     query = session.query(Eqp)
     tmpEqp = query.filter(Eqp.id == id).first()
     ret = 0
     if (tmpEqp != None):
         tmpEqp.authority = isAuth
         session.commit()
         ret = 1
     return ret
示例#41
0
文件: eqp.py 项目: wncbb/trainWeb
 def updateAuth(inData):
     '''
     :param: inData
     :return: {1:'success', 2:'wrong param', 3:'no eqp id'}
     '''
     if ('EqpId' in inData):
         if ('Auth' in inData and inData['Auth'] != ''):
             session.query(Eqp).filter(Eqp.id == inData['Eqpid'],
                                       Eqp.valid == 1).update(
                                           {'authority': inData['Auth']})
         if ('Number' in inData and inData['Number'] != ''):
             session.query(Eqp).filter(Eqp.id == inData['Eqpid'],
                                       Eqp.valid == 1).update(
                                           {'number': inData['Number']})
         session.commit()
         return 1
     else:
         return 2
示例#42
0
 def delete_data(self,id):
     try:
         """删除数据,默认开始事务"""
         rows = session.query(ProductModel).filter(ProductModel.id == id).first()
         session.delete(rows)
         session.commit()
         return True
     except:
         session.rollback()
示例#43
0
 def is_eqp_exist(mac, ip):
     """
     if eqp exists, return eqp.id,else return -1
     """
     eqp = session.query(Eqp).filter_by(mac=mac, ip=ip).first()
     if eqp:
         return eqp.id
     else:
         return False
示例#44
0
 def updateUser(inData):
     '''
     :param inData:
     :return: {1:'update success', 2:'no user', 3:'permission denied', 4:'username repeat', 5:'failed(wrong param)'}
     '''
     if (('updateId' in inData) and ('id' in inData)
             and (('newUsername' in inData) or ('newPasswd' in inData) or
                  ('newLevel' in inData))):
         updateUserLevel = session.query(User.level).filter(
             User.id == inData['updateId'], User.valid == 1).first()
         if (updateUserLevel is None or int(updateUserLevel[0]) != 0):
             return 3
         else:
             chgUser = session.query(User).filter(User.id == inData['id'],
                                                  User.valid == 1).first()
             if (chgUser is None):
                 return 2
             if ('newUsername' in inData and inData['newUsername'] != ''):
                 tmp = User.check(inData['newUsername'])
                 if (tmp == 1):
                     session.query(User).filter(
                         User.id == inData['id']).update({
                             'username':
                             inData['newUsername'],
                             'time':
                             datetime.now()
                         })
                 else:
                     return 4
             if ('newPasswd' in inData and inData['newPasswd'] != ''):
                 userName = session.query(
                     User.username).filter(User.id == inData['id']).first()
                 md5Passwd = User.getMd5Pw(userName[0], inData['newPasswd'])
                 session.query(User).filter(User.id == inData['id']).update(
                     {
                         'passwd': md5Passwd,
                         'time': datetime.now()
                     })
             if ('newLevel' in inData and inData['newLevel'] != ''):
                 session.query(User).filter(User.id == inData['id']).update(
                     {
                         'level': inData['newLevel'],
                         'time': datetime.now()
                     })
             session.commit()
             return 1
     else:
         return 5
示例#45
0
 def info(num):
     ret = {'data': []}
     query = session.query(Outip2)
     pureData = query.filter().order_by(desc(Outip2.count)).limit(num).all()
     for tmpData in pureData:
         tmp = {}
         tmp['name'] = tmpData.name
         tmp['count'] = tmpData.count
         ret['data'].append(tmp)
     return ret
示例#46
0
文件: eqp.py 项目: wncbb/trainWeb
 def search_sensorId(mac):
     '''
     :param mac:
     :return:{-1:'sensor id does not exist', sensorId}
     '''
     sensorQuery = session.query(Sensor.id)
     tmpSensorId = sensorQuery.filter(Sensor.mac == mac).first()
     if (tmpSensorId == None):
         return -1
     else:
         return int(tmpSensorId[0])
示例#47
0
文件: eqp.py 项目: wncbb/trainWeb
 def search_sensorId(mac):
     '''
     :param mac:
     :return:{-1:'sensor id does not exist', sensorId}
     '''
     sensorQuery = session.query(Sensor.id)
     tmpSensorId = sensorQuery.filter(Sensor.mac == mac).first()
     if(tmpSensorId == None):
         return -1
     else:
         return int(tmpSensorId[0])
示例#48
0
文件: station.py 项目: wncbb/trainWeb
 def delStation(inData):
     '''
     :param: inData
     :return: {1:'success', 2:'failed', 3:'permission denied', 4:'param wrong'}
     ''' 
     from user import User
     from sensor import Sensor
     if(('UserId' in inData) and ('StationId' in inData)):
         updateUserLevel = session.query(User.level).filter(User.id == inData['UserId'], User.valid == 1).first()
         if(updateUserLevel == None or int(updateUserLevel[0] != 0)):
             return 3
         else:
             session.query(Station).filter(Station.id == inData['StationId'], Station.valid == 1).update({'valid':0, 'time':datetime.now()})
             delSensorId = session.query(Sensor.id).filter(Sensor.stationId == inData['StationId'], Sensor.valid == 1).all()
             for sensorId in delSensorId:
                 Sensor.delSensor({'UserId':inData['UserId'], 'SensorId':int(sensorId[0])})
             session.commit()
             return 1
     else:
         return 4
示例#49
0
def update_user(data,*args,**kwargs):
    """
    query> User.username=='cainiao'
    data> {User.password:1}
    """
    try:
        rows = session.query(User).filter(*args).filter_by(**kwargs).update(data)
        session.commit()
    except Exception as e:
        session.rollback()
        raise e
示例#50
0
文件: domain.py 项目: wncbb/trainWeb
 def info(num):
     ret={}
     ret['data']=[]
     query=session.query(Domain)
     pureData=query.filter().order_by(desc(Domain.count)).limit(num).all()
     for tmpData in pureData:
         tmp={}
         tmp['name']=tmpData.name
         tmp['count']=tmpData.count
         ret['data'].append(tmp)
     return ret
示例#51
0
def delete_user(*args,**kwargs):
    """"
    query>User.username=='cainiao'
    """
    try:
        rows = session.query(User).filter(*args).filter_by(**kwargs)[0]
        session.delete(rows)
        session.commit()
    except Exception as e:
        session.rollback()
        raise e
示例#52
0
文件: user.py 项目: wncbb/trainWeb
 def deleteUser(inData):
     '''
     :param inData:
     :return: {1:'success', 2:'no user', 3:'permission denied', 4:'failed'}
     '''
     from auth import Auth
     if(('updateId' in inData) and ('delId' in inData)):
         updateUserLevel = session.query(User.level).filter(User.id == inData['updateId'], User.valid == 1).first()
         if(updateUserLevel == None or int(updateUserLevel[0]) != 0):
             return 3
         else:
             chgUser = session.query(User).filter(User.id == inData['delId'], User.valid == 1).first()
             if(chgUser == None):
                 return 2
             else:
                 session.query(User).filter(User.id == inData['delId']).update({'valid':0, 'time':datetime.now()})
                 session.commit()
                 Auth.delAuth({'UserId':inData['delId']})
                 return 1
     else:
         return 4
示例#53
0
文件: host.py 项目: wncbb/trainWeb
 def check(name):
     '''
     :param name:
     :return: {1:'success', 2:'name repeat', 3:'name is empty'}
     '''
     if(name == ''):
         return 3
     query = session.query(Host)
     tmpHost = query.filter(Host.name == name).first()
     if(tmpHost != None):
         return 2
     return 1
示例#54
0
文件: sensor.py 项目: wncbb/trainWeb
 def delSensor(inData):
     '''
     :param: inData
     :return: {1:'success', 2:'permission denied', 3:'no sensor', 4:'wrong param', 5:''}
     '''
     from auth import Auth
     from eqp import Eqp
     if(('UserId' in inData) and ('SensorId' in inData)):
         updateUser = session.query(Auth).filter(Auth.userId == inData['UserId'], Auth.sensorId == inData['SensorId'], Auth.valid == 1).first()
         if(updateUser == None):
             updateUserLevel = session.query(User.level).filter(User.id == inData['UserId'], User.valid == 1).first()
             if(updateUserLevel == None or int(updateUserLevel[0]) != 0):
                 return 2
         tmpSensor = session.query(Sensor).filter(Sensor.id == inData['SensorId'], Sensor.valid == 1).first()
         if(tmpSensor == None):
             return 3
         session.query(Sensor).filter(Sensor.id == inData['SensorId'], Sensor.valid == 1).update({'valid':0, 'time':datetime.now()})
         Auth.delAuth({'SensorId':inData['SensorId']})
         Eqp.delEqp({'SensorId':inData['SensorId']})
         session.commit()
         return 1
     else:
         return 4
示例#55
0
文件: auth.py 项目: wncbb/trainWeb
    def check(userId, sensorId):
        '''
        :param userId:
        :param sensorId:
        :return: {1:'success', 2:'userId not exist', 3:'sensorId not exist', 4:'authority exist'}
        '''
        ret=1
        userQuery=session.query(User)
        tmpUser=userQuery.filter(User.id==userId).first()
        if(tmpUser==None):
            ret=2
            return ret
        sensorQuery=session.query(Sensor)
        tmpSensor=sensorQuery.filter(Sensor.id==sensorId)
        if(tmpSensor==None):
            ret=3
            return ret

        query=session.query(Auth)
        tmpAuth=query.filter(Auth.userId==userId, Auth.sensorId==sensorId).first()
        if(tmpAuth!=None):
            ret=4
            return ret
        return ret
示例#56
0
文件: user.py 项目: wncbb/trainWeb
 def del_user2(inData):
     '''
     :param inData:
     :return{0: error, 2: no id in inData, 3: no such id in userv2, }:
     '''
     ret=0
     if(not inData.has_key('id')):
         ret=2
         return ret
     query=session.query(User)
     tmpUser=query.filter(User.id==inData['id']).first()
     if(tmpUser==None):
         ret=3
         return ret
     else:
         from user_old import User_old
         User_old.add(tmpUser)
         from auth import Auth
         authQuery=session.query(Auth)
         authQuery.filter(Auth.userId==tmpUser.id).delete()
         session.delete(tmpUser)
         session.commit()
         ret=1
         return ret
示例#57
0
文件: user.py 项目: wncbb/trainWeb
    def update_user2(inData):
        '''
        :param inData:
        :return: {
            1:'success',
            12:'no id',
            13:'id not exist',
            14:'username is none',
            15:'level is illegal',
            16:'passwd is too short',
            17:'already has user'
        }
        '''
        ret=1
        if(not inData.has_key('id')):
            ret=12
            return ret
        query=session.query(User)
        tmpUser=query.filter(User.id==inData['id']).first()
        if(tmpUser==None):
            ret=13
            return ret
        if(inData.has_key('username')):
            tmpUser2=query.filter(User.username==inData['username']).first()
            if(tmpUser2!=None):
                ret=17
                return ret
            if(inData['username']!=''):
                tmpUser.username=inData['username']
            else:
                ret=14
                return ret
        if(inData.has_key('level')):
            inData['level']=int(inData['level'])
            if( (inData['level']==0) or (inData['level']==1) or (inData['level']==2)):
                tmpUser.level=inData['level']
            else:
                ret=15
                return ret
        if(inData.has_key('passwd')):
            if(len(inData['passwd'])<6):
                ret=16
                return ret
            else:
                tmpUser.passwd=User.getMd5Pw(tmpUser.username, inData['passwd'])

        session.commit()
        return ret
示例#58
0
文件: eqp.py 项目: wncbb/trainWeb
 def has_record(ip, mac):
     '''
     :param ip:
     :param mac:
     :return:{-1:'ip and mac not match', 0:'has no record in DB', 1:'has record in DB'}
     '''
     query = session.query(Eqp)
     tmpEqp = query.filter(or_(Eqp.ip == ip, Eqp.mac == mac)).first()
     if(tmpEqp == None):
         return 0
     else:
         tmpEqp = query.filter(and_(Eqp.ip == ip, Eqp.mac == mac)).first()
         if(tmpEqp == None):
             return -1
         else:
             return 1
示例#59
0
文件: auth.py 项目: wncbb/trainWeb
    def delete_auth2(inData):
        '''
        :param inData:
        :return: {2:'there is no id', 3:'this is so such record'}
        '''
        ret=1
        if(inData.has_key('id')):
            query=session.query(Auth)
            tmpAuth=query.filter(Auth.id==inData['id']).first()
            if(tmpAuth!=None):
                session.delete(tmpAuth)
                session.commit()
                ret=1
            else:
                ret=3

        else:
            ret=2
        return ret
示例#60
0
    def retTable(inArg):
        query=session.query(Atkinfo2)
        nowTime=time.time()
        start_time=0
        stop_time=nowTime
        if(inArg.has_key('start_time')):
            start_time=inArg['start_time']
        if(inArg.has_key('stop_time')):
            if(inArg['stop_time']):
                stop_time=nowTime
            else:
                stop_time=inArg['stop_time']
        allInfos=query.filter(Atkinfo2.atkTime>=start_time, Atkinfo2.atkTime<=stop_time, Atkinfo2.atkId!=6)
        ret=[]
        for tmpInfo in allInfos:
            tmp={}
            tmp['attackId']=tmpInfo.atkId
            tmp['time']=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(tmpInfo.atkTime))

            tmp['sensorId']=tmpInfo.sensorNumber;

            tmp['src']={}
            tmp['src']['ip']=tmpInfo.srcIp
            tmp['src']['port']=tmpInfo.srcPort
            tmp['src']['lng']=float(tmpInfo.srcLng)
            tmp['src']['lat']=float(tmpInfo.srcLat)
            tmp['src']['name']=''

            tmp['dst']={}
            tmp['dst']['ip']=tmpInfo.dstIp
            tmp['dst']['port']=tmpInfo.dstPort
            tmp['dst']['lng']=float(tmpInfo.dstLng)
            tmp['dst']['lat']=float(tmpInfo.dstLat)
            tmp['dst']['name']=''

            tmp['protocalA']=tmpInfo.cmProtocal
            tmp['trails']=tmpInfo.trails
            tmp['references']=tmpInfo.refer
            tmp['infos']=tmpInfo.infos
            ret.append(tmp)

        return ret