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
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
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
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
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
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
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
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;
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
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
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()
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
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
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
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
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
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 {}
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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('没有该用户,无需删除!')
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
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
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
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
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
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()
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
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
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
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])
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])
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
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
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
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
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
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
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
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
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
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
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
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
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