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)
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)
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)
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)