コード例 #1
0
ファイル: Bottle_WebFrame.py プロジェクト: HuaweiSNC/OPS2
def subdevices_put(db, deviceid, sid):
    body= request.body
    ddict = body.read()
    try:
        deviceinfo = json.loads(ddict)['device']
        ip = deviceinfo['ip']
        port = deviceinfo['port']
        username = deviceinfo['username']
        passwd = deviceinfo['passwd'] 
        
        if (ip == '' or username ==''or port==''):
            response.status = HTTP_SERVER_ERROR
            return dict(error='must have the following data (ip, port, username)')
        device_db = DevicesMgt(db)
        bret = device_db.update_subdevice( sid, ip, port, username, passwd)
        if (not bret):
            response.status = HTTP_SERVER_ERROR
            return dict(error='can not find the subdevice , detail: id=%s and ip=%s' %(sid, ip))
        else:
            response.status = HTTP_RESPONSE_OK
            network_devices.modifySubDevice(deviceid, sid, deviceinfo)
            return dict(ok=True)
    except Exception as e:
        response.status = HTTP_SERVER_ERROR 
        return dict(error='%s' % e)
コード例 #2
0
ファイル: Bottle_WebFrame.py プロジェクト: styu2848/OPS2
def subdevices_put(db, deviceid, sid):
    body= request.body
    ddict = body.read()
    try:
        deviceinfo = json.loads(ddict)['device']
        ip = deviceinfo['ip']
        port = deviceinfo['port']
        username = deviceinfo['username']
        passwd = deviceinfo['passwd'] 
        
        if (ip == '' or username ==''or port==''):
            response.status = HTTP_SERVER_ERROR
            return dict(error='must have the following data (ip, port, username)')
        device_db = DevicesMgt(db)
        bret = device_db.update_subdevice( sid, ip, port, username, passwd)
        if (not bret):
            response.status = HTTP_SERVER_ERROR
            return dict(error='can not find the subdevice , detail: id=%s and ip=%s' %(sid, ip))
        else:
            response.status = HTTP_RESPONSE_OK
            network_devices.modifySubDevice(deviceid, sid, deviceinfo)
            return dict(ok=True)
    except Exception as e:
        response.status = HTTP_SERVER_ERROR 
        return dict(error='%s' % e)
コード例 #3
0
ファイル: Bottle_WebFrame.py プロジェクト: HuaweiSNC/OPS2
def devices_config_put(db):
    body= request.body
    ddict = body.read()   
    try:
        deviceinfo = json.loads(ddict)['device']
        device_db = DevicesMgt(db)
        devicename = deviceinfo['devicename']
        deviceid = str(deviceinfo['id'])
        ip = deviceinfo['ip']
        username = deviceinfo['username']
        passwd = deviceinfo['passwd']
        productType = deviceinfo['productType']
        version = deviceinfo['version']
        port = deviceinfo.get('port')
        subdevices = deviceinfo.get('subdevices')
        if (ip == ''  or username ==''
            or productType=='' or devicename==''):
            response.status = HTTP_SERVER_ERROR
            return dict(error='must have the following data (ip, devicename, username, productType)')

        if (subdevices is not None):
            for sudevice in subdevices:
                if (sudevice.get('id') == '' or sudevice.get('id') is None
                     or sudevice.get('ip') == '' or sudevice.get('ip') is None
                     or sudevice.get('username') =='' or sudevice.get('username') is None
                     or sudevice.get('port')=='' or sudevice.get('port') is None):
                    response.status = HTTP_SERVER_ERROR
                    return dict(error='subdevices must have the following data (ip, port, username)') 
                
        drivername = getDrivername(productType, version)
        if (drivername == None or drivername == ''):
            response.status = HTTP_SERVER_ERROR
            return dict(error='can not find the driver , detail: producttype=%s and version=%s' %(productType, version))
        
        # update device 
        ret = device_db.update_device(deviceid, devicename, ip, port, username, passwd, productType, version)
        if ret == False:
            response.status = HTTP_SERVER_ERROR
            return dict(error='id %s , device %s does not exist or devicename is repeat' % (deviceid, devicename))
        
        response.status = HTTP_RESPONSE_OK            
        deviceinfo['driver']= drivername 
        deviceinfo['subdevices'] = None
        network_devices.modifyDevice(deviceinfo)
        
        # update sudevice
        if (subdevices is not None):
            for sudevice in subdevices:
                sid = sudevice.get('id')
                ip = sudevice.get('ip') 
                username =  sudevice.get('username') 
                passwd =  sudevice.get('passwd') 
                port =  sudevice.get('port') 
                bret = device_db.update_subdevice( sid, ip, port, username, passwd)
                if (not bret):
                    response.status = HTTP_SERVER_ERROR
                    return dict(error='can not find the subdevice , detail: id=%s and ip=%s' %(sid, ip))
                else:
                    response.status = HTTP_RESPONSE_OK
                    network_devices.modifySubDevice(deviceid, sid, sudevice)
                    
        return dict(ok=True)
            
    except Exception as e:
        response.status = HTTP_SERVER_ERROR 
        return dict(error='%s' % e)
コード例 #4
0
ファイル: Bottle_WebFrame.py プロジェクト: styu2848/OPS2
def devices_config_put(db):
    body= request.body
    ddict = body.read()   
    try:
        deviceinfo = json.loads(ddict)['device']
        device_db = DevicesMgt(db)
        devicename = deviceinfo['devicename']
        deviceid = str(deviceinfo['id'])
        ip = deviceinfo['ip']
        username = deviceinfo['username']
        passwd = deviceinfo['passwd']
        productType = deviceinfo['productType']
        version = deviceinfo['version']
        port = deviceinfo.get('port')
        subdevices = deviceinfo.get('subdevices')
        if (ip == ''  or username ==''
            or productType=='' or devicename==''):
            response.status = HTTP_SERVER_ERROR
            return dict(error='must have the following data (ip, devicename, username, productType)')

        if (subdevices is not None):
            for sudevice in subdevices:
                if (sudevice.get('id') == '' or sudevice.get('id') is None
                     or sudevice.get('ip') == '' or sudevice.get('ip') is None
                     or sudevice.get('username') =='' or sudevice.get('username') is None
                     or sudevice.get('port')=='' or sudevice.get('port') is None):
                    response.status = HTTP_SERVER_ERROR
                    return dict(error='subdevices must have the following data (ip, port, username)') 
                
        drivername = getDrivername(productType, version)
        if (drivername == None or drivername == ''):
            response.status = HTTP_SERVER_ERROR
            return dict(error='can not find the driver , detail: producttype=%s and version=%s' %(productType, version))
        
        # update device 
        ret = device_db.update_device(deviceid, devicename, ip, port, username, passwd, productType, version)
        if ret == False:
            response.status = HTTP_SERVER_ERROR
            return dict(error='id %s , device %s does not exist or devicename is repeat' % (deviceid, devicename))
        
        response.status = HTTP_RESPONSE_OK            
        deviceinfo['driver']= drivername 
        deviceinfo['subdevices'] = None
        network_devices.modifyDevice(deviceinfo)
        
        # update sudevice
        if (subdevices is not None):
            for sudevice in subdevices:
                sid = sudevice.get('id')
                ip = sudevice.get('ip') 
                username =  sudevice.get('username') 
                passwd =  sudevice.get('passwd') 
                port =  sudevice.get('port') 
                bret = device_db.update_subdevice( sid, ip, port, username, passwd)
                if (not bret):
                    response.status = HTTP_SERVER_ERROR
                    return dict(error='can not find the subdevice , detail: id=%s and ip=%s' %(sid, ip))
                else:
                    response.status = HTTP_RESPONSE_OK
                    network_devices.modifySubDevice(deviceid, sid, sudevice)
                    
        return dict(ok=True)
            
    except Exception as e:
        response.status = HTTP_SERVER_ERROR 
        return dict(error='%s' % e)