Exemple #1
0
def subdevices_post(db, deviceid):
    body= request.body
    ddict = body.read()
    try:
        deviceinfo = json.loads(ddict)['device']
        ip = deviceinfo['ip']
        port = deviceinfo.get('port')
        username = deviceinfo['username']
        passwd = deviceinfo['passwd'] 
        if (port is None ):
            port = 22
        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)
        subid = device_db.add_subdevices(deviceid, ip, port, username, passwd )
        if subid == 0:
            response.status = HTTP_SERVER_ERROR
            return dict(error=('device id %s is not exist'%deviceid))
 
        deviceinfo["id"] = subid
        network_devices.addSubDevice(deviceid, deviceinfo)
        
        return dict(id=subid)
    
    except Exception as e:
        response.status = HTTP_SERVER_ERROR
        return dict(error=e.message)
Exemple #2
0
def subdevices_post(db, deviceid):
    body= request.body
    ddict = body.read()
    try:
        deviceinfo = json.loads(ddict)['device']
        ip = deviceinfo['ip']
        port = deviceinfo.get('port')
        username = deviceinfo['username']
        passwd = deviceinfo['passwd'] 
        if (port is None ):
            port = 22
        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)
        subid = device_db.add_subdevices(deviceid, ip, port, username, passwd )
        if subid == 0:
            response.status = HTTP_SERVER_ERROR
            return dict(error=('device id %s is not exist'%deviceid))
 
        deviceinfo["id"] = subid
        network_devices.addSubDevice(deviceid, deviceinfo)
        
        return dict(id=subid)
    
    except Exception as e:
        response.status = HTTP_SERVER_ERROR
        return dict(error=e.message)
Exemple #3
0
def devices_config_post(db):
    
    body= request.body
    ddict = body.read()
    try:
        deviceinfo = json.loads(ddict)['device']
        device_db =  DevicesMgt(db)
        devicename = deviceinfo['devicename']
        username = deviceinfo['username']
        ip = deviceinfo['ip']
        passwd = deviceinfo['passwd']
        productType = deviceinfo['productType']
        version = deviceinfo['version']
        port = deviceinfo.get('port')
        deviceiid = deviceinfo.get('id')
        subdevices = deviceinfo.get('subdevices')
        if (deviceiid is not None and 
            (not str(deviceiid).isdigit() or int(deviceiid) <= 0 or int(deviceiid) > sys.maxint )):
            response.status = HTTP_SERVER_ERROR
            return dict(error='The attribute ID is digital, greater than 0, and less than %s'% sys.maxint)
        
        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)')
          
        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))
        
        #dectect if have sub devices
        if (subdevices is not None):
            for sudevice in subdevices:
                if (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)')      
        
        if (port == None):
            port = '22'
            deviceinfo['port']=port
            
        #add devices
        deviceid = device_db.add_devices(devicename, ip, str(port), username, passwd, productType, version, deviceiid)
        if deviceid == 0:
            response.status = HTTP_SERVER_ERROR
            return dict(error='device %s or id already exists' % devicename)
        
        deviceinfo["id"] = deviceid
        deviceinfo['driver']= drivername 
        deviceinfo['subdevices']= [] 
        network_devices.addDevice(deviceinfo)
        
        #add subdevices
        if (subdevices is not None):
            for sudevice in subdevices:
                ip = sudevice.get('ip') 
                username =  sudevice.get('username') 
                passwd =  sudevice.get('passwd') 
                port =  sudevice.get('port') 
                subid = device_db.add_subdevices(deviceid, ip, port, username, passwd )
                subdeviceinfo = {}
                subdeviceinfo['ip'] = ip
                subdeviceinfo['port'] = port
                subdeviceinfo['username'] = username
                subdeviceinfo['passwd'] = passwd
                subdeviceinfo["id"]  = subid
                network_devices.addSubDevice(str(deviceid), subdeviceinfo)
   
        return dict(id=deviceid)
    
    except Exception, e:
        response.status = HTTP_SERVER_ERROR
        return dict(error=e.message)
Exemple #4
0
def devices_config_post(db):
    
    body= request.body
    ddict = body.read()
    try:
        deviceinfo = json.loads(ddict)['device']
        device_db =  DevicesMgt(db)
        devicename = deviceinfo['devicename']
        username = deviceinfo['username']
        ip = deviceinfo['ip']
        passwd = deviceinfo['passwd']
        productType = deviceinfo['productType']
        version = deviceinfo['version']
        port = deviceinfo.get('port')
        deviceiid = deviceinfo.get('id')
        subdevices = deviceinfo.get('subdevices')
        if (deviceiid is not None and 
            (not str(deviceiid).isdigit() or int(deviceiid) <= 0 or int(deviceiid) > sys.maxint )):
            response.status = HTTP_SERVER_ERROR
            return dict(error='The attribute ID is digital, greater than 0, and less than %s'% sys.maxint)
        
        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)')
          
        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))
        
        #dectect if have sub devices
        if (subdevices is not None):
            for sudevice in subdevices:
                if (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)')      
        
        if (port == None):
            port = '22'
            deviceinfo['port']=port
            
        #add devices
        deviceid = device_db.add_devices(devicename, ip, str(port), username, passwd, productType, version, deviceiid)
        if deviceid == 0:
            response.status = HTTP_SERVER_ERROR
            return dict(error='device %s or id already exists' % devicename)
        
        deviceinfo["id"] = deviceid
        deviceinfo['driver']= drivername 
        deviceinfo['subdevices']= [] 
        network_devices.addDevice(deviceinfo)
        
        #add subdevices
        if (subdevices is not None):
            for sudevice in subdevices:
                ip = sudevice.get('ip') 
                username =  sudevice.get('username') 
                passwd =  sudevice.get('passwd') 
                port =  sudevice.get('port') 
                subid = device_db.add_subdevices(deviceid, ip, port, username, passwd )
                subdeviceinfo = {}
                subdeviceinfo['ip'] = ip
                subdeviceinfo['port'] = port
                subdeviceinfo['username'] = username
                subdeviceinfo['passwd'] = passwd
                subdeviceinfo["id"]  = subid
                network_devices.addSubDevice(str(deviceid), subdeviceinfo)
   
        return dict(id=deviceid)
    
    except Exception, e:
        response.status = HTTP_SERVER_ERROR
        return dict(error=e.message)