def attachVolume(): jsonpFunc = str(request.args.get('jsonp_callback')) cid = int(request.args.get('vmid')) clientDetails=query_db('select * from clients where cid=?',[cid], one=True); attach={'status':1} if clientDetails: vmid=clientDetails[1]; mid=clientDetails[4]; count=clientDetails[5]+1; machineDetails=query_db('select * from machines where mid=?',[mid], one=True); targetMachine=machineDetails[1]; vmname=clientDetails[2]; else: attach={'status':0} if attach['status']!=0: volumeid = int(request.args.get('volumeid')) volumeDetails=query_db('select * from volumes where volumeid=?',[volumeid]); if volumeDetails: volumeDetails=volumeDetails[0]; status=volumeDetails[1]; volname=volumeDetails[2]; cid=clientDetails[0]; size=volumeDetails[4]; retVal=col.attachVolume(targetMachine,volumeDetails,vmid,count) if retVal!=-1: db = get_db() db.execute('''update volumes set status="attached",vmid=?,volxml=? where volumeid=?''',[cid,retVal,volumeid]); db.commit() db.execute('''update clients set count=? where cid=?''',[count,cid]); db.commit() attach={'status':1} else: attach={'status':0} else: attach={'status':0} else: attach={'status':0} if jsonpFunc!='None': ast=jsonpFunc+'('+json.dumps(attach)+')' print ast return ast return jsonify(attach);
def attachVolume(): cid = int(request.args.get('vmid')) clientDetails=query_db('select * from clients where cid=?',[cid], one=True); if clientDetails: vmid=clientDetails[1]; mid=clientDetails[4]; count=clientDetails[5]+1; machineDetails=query_db('select * from machines where mid=?',[mid], one=True); targetMachine=machineDetails[1]; vmname=clientDetails[2]; else: return jsonify({'status':0}) volumeid = int(request.args.get('volumeid')) volumeDetails=query_db('select * from volumes where volumeid=?',[volumeid]); if volumeDetails: volumeDetails=volumeDetails[0]; status=volumeDetails[1]; volname=volumeDetails[2]; cid=clientDetails[0]; size=volumeDetails[4]; if status=="available": retVal=col.attachVolume(targetMachine,volumeDetails,vmid,count) if retVal!=-1: db = get_db() db.execute('''update volumes set status="attached",vmid=?,volxml=? where volumeid=?''',[cid,retVal,volumeid]); db.commit() db.execute('''update clients set count=? where cid=?''',[count,cid]); db.commit() return jsonify({'status':1}) else: return jsonify({'status':0}) else: return jsonify({'status':0}) else: return jsonify({'status':0})