def get(self, name, disk): if self.get_secure_cookie("AuthUsername") == '': self.render("NotPermitted.html") return p= Permission(self.database) name=urllib.unquote(name) if p.verifyUserToGuestPermission(self.get_secure_cookie("AuthUsername"), name, 6) == 0: self.render("NotPermitted.html") return try: vm = lvconn.lookupByName(name) xml = vm.XMLDesc(1) xml = minidom.parseString(xml) os = xml.getElementsByTagName("os") os= os[0] disks= xml.getElementsByTagName("disk") for dsk in disks: if dsk.getAttribute('device')==disk: disks.removeChild(dsk) print dsk.getAttribute('device') if vm.isActive(): vm.destroy() vm.undefine() new = lvconn.defineXML( xml.toxml()) new.create() except: print("err") pass self.redirect('/guest/'+name+'/')
def get(self, name, disk): if self.get_secure_cookie("AuthUsername") == '': self.render("NotPermitted.html") return p= Permission(self.database) name=urllib.unquote(name) if p.verifyUserToGuestPermission(self.get_secure_cookie("AuthUsername"), name, 6) == 0: self.render("NotPermitted.html") return try: vm = lvconn.lookupByName(name) xml = vm.XMLDesc(1) xml = minidom.parseString(xml) os = xml.getElementsByTagName("os") os= os[0] devices = xml.getElementsByTagName("devices") devices= devices[0] boot = xml.getElementsByTagName("boot") for tmpboot in boot: os.removeChild(tmpboot) boot = xml.createElement("boot") if disk=="disk": disk="hd" boot.setAttribute("dev", disk) os.appendChild(boot) if vm.isActive(): vm.destroy() vm.undefine() new = lvconn.defineXML( xml.toxml()) new.create() except: print("err") pass self.redirect('/guest/'+name+'/')
def parse(file): results = [] i = 0 for line in open(file,'r').readlines(): # determine valid flight or not boolean = valid_flight(line) if(boolean == True): flight = {} flight['segments'] = [] flight['fares'] = [] xml = parseString(line) #print line # parse segments segments = xml.getElementsByTagName("FlightSegment") for segment in segments: segment_array = {} segment_array['Origin'] = segment.getAttribute("Origin") segment_array['Destination'] = segment.getAttribute("Destination") segment_array['CarrierCode'] = segment.getAttribute("CarrierCode") segment_array['FlightNumber'] = segment.getAttribute("FlightNumber") segment_array['DepartureDateTime'] = segment.getAttribute("DepartureDateTime") segment_array['ArrivalDateTime'] = segment.getAttribute("ArrivalDateTime") segment_array['BookingCode'] = segment.getAttribute("BookingCode") segment_array['CabinClass'] = segment.getAttribute("CabinClass") segment_array['SeatsRemaining'] = segment.getAttribute("SeatsRemaining") flight['segments'].append(segment_array) # parse fares fares = xml.getElementsByTagName("Fare") for fare in fares: fare_array = {} fare_array['PassengerCode'] = fare.getAttribute("PassengerCode") fare_array['BaseAmount'] = fare.getAttribute("BaseAmount") fare_array['TaxAmount'] = fare.getAttribute("TaxAmount") fare_array['Currency'] = fare.getAttribute("Currency") fare_array['Refundable'] = fare.getAttribute("Refundable") fare_array['ETicketable'] = fare.getAttribute("ETicketable") flight['fares'].append(fare_array) results.append(flight) # first 20 flights if i > 20: print results sys.exit(0) else: i = i + 1 return results
def gen_link_atms(lat=51.51856, lon=-0.14377, maxDistance=3, max_results=50): cache = urlgrab.Cache(cache=".cache") cache.user_agent = ( "Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9.1.9) Gecko/20100501 Iceweasel/3.5.9 (like Firefox/3.5.9)" ) api = cache.get("http://clients.multimap.com/API/maps/1.2/linkapi/") cookies = api.headers.cookies() deliveryID = int(cookies["deliveryId"]) mdin = int(cookies["MDIN"]) data = cache.get( "http://clients.multimap.com/API/search/1.2/linkapi?output=xml&callback=MMSearchRequester.prototype._GeneralJSONCallback&dataSource=mm.clients.linkapi&count=%d&lat=%f&lon=%f&maxDistance=%d&orderByFields=distance&orderByOrder=asc&locale=en-us&deliveryID=%d&identifier=1" % (max_results, lat, lon, maxDistance, deliveryID), ref="http://www.link.co.uk/Style%20Library/ATMLocator.html", headers={"Cookie": "MDIN=%d" % mdin}, timeout=240, ).read() xml = parseString(data) rs = xml.getElementsByTagName("RecordSet")[0] records = rs.getElementsByTagName("Record") for record in records: atm = {} fields = record.getElementsByTagName("Field") for field in fields: if not field.firstChild: content = "" else: content = field.firstChild.data name = field.getAttribute("name") atm[name] = content atm["lat"] = float(record.getElementsByTagName("Lat")[0].firstChild.data) atm["lon"] = float(record.getElementsByTagName("Lon")[0].firstChild.data) yield atm
def get(self, name): gname = urllib.unquote(name) if self.get_secure_cookie("AuthUsername") == '': self.render("NotPermitted.html") return try: vm = lvconn.lookupByName(name) except: self.redirect('/guests/') xml = vm.XMLDesc(1) xml = minidom.parseString(xml) active = vm.isActive() memory = xml.getElementsByTagName('memory').item(0).firstChild.nodeValue memory = int(memory) /1024 vcpu = xml.getElementsByTagName('vcpu').item(0).firstChild.nodeValue emulator = xml.getElementsByTagName('emulator').item(0).firstChild.nodeValue arch = xml.getElementsByTagName('os').item(0).getElementsByTagName('type').item(0).getAttribute('arch') vnc_port = xml.getElementsByTagName('graphics').item(0).getAttribute('port') vnc_passwd = xml.getElementsByTagName('graphics').item(0).getAttribute('passwd') devices = list() for disk in xml.getElementsByTagName('disk') : try: name = disk.getElementsByTagName('alias').item(0).getAttribute('name') except: name = "NoName" try: path = disk.getElementsByTagName('source').item(0).getAttribute('file') except: path = "-" try: dev = disk.getElementsByTagName('target').item(0).getAttribute('dev') except: path = "-" try: typed = disk.getAttribute('device') except: typed = "-" device = { 'name': name, 'path': path, 'link' : 'http://darkstar.ricerca.dico.unimi.it/static/storage/'+os.path.basename(path), 'dev': dev, 'typed': typed, } devices.append(device) permissions=list() try: self.cursor.execute("SELECT username, permissions FROM acl_g2u WHERE guest = '%s';" % gname) tmpcursor = self.database.cursor() tmpcursor.execute("SELECT username FROM vuser ;" ) except: self.database.rollback() print "ERROR" else: self.database.commit() for perm in self.cursor: ''' <madness > ''' permbyte = '{0:08b}'.format(perm[1]) ''' </madness> ''' permissions.append({ 'name': perm[0], 'show': permbyte[7], 'run': permbyte[6], 'delete': permbyte[5] , 'clone':permbyte[4] , 'chmod': permbyte[3] }) users = list() for user in tmpcursor: users.append(user[0]) self.render("GuestDetails.html", name=gname, memory = memory, vcpu = vcpu, arch = arch, devices= devices, emulator= emulator, vnc_port = vnc_port, vnc_passwd=vnc_passwd, active=active, permissions=permissions, users=users)
def search(xml,tag,offset=0): """Search XML Fragment for named tag""" xmltemp=xml.getElementsByTagName(tag)[offset] xmlval=xmltemp.childNodes[0].data return xmlval
def parse(file): results = [] i = 0 for line in open(file, 'r').readlines(): # determine valid flight or not boolean = valid_flight(line) if (boolean == True): flight = {} flight['segments'] = [] flight['fares'] = [] xml = parseString(line) #print line # parse segments segments = xml.getElementsByTagName("FlightSegment") for segment in segments: segment_array = {} segment_array['Origin'] = segment.getAttribute("Origin") segment_array['Destination'] = segment.getAttribute( "Destination") segment_array['CarrierCode'] = segment.getAttribute( "CarrierCode") segment_array['FlightNumber'] = segment.getAttribute( "FlightNumber") segment_array['DepartureDateTime'] = segment.getAttribute( "DepartureDateTime") segment_array['ArrivalDateTime'] = segment.getAttribute( "ArrivalDateTime") segment_array['BookingCode'] = segment.getAttribute( "BookingCode") segment_array['CabinClass'] = segment.getAttribute( "CabinClass") segment_array['SeatsRemaining'] = segment.getAttribute( "SeatsRemaining") flight['segments'].append(segment_array) # parse fares fares = xml.getElementsByTagName("Fare") for fare in fares: fare_array = {} fare_array['PassengerCode'] = fare.getAttribute( "PassengerCode") fare_array['BaseAmount'] = fare.getAttribute("BaseAmount") fare_array['TaxAmount'] = fare.getAttribute("TaxAmount") fare_array['Currency'] = fare.getAttribute("Currency") fare_array['Refundable'] = fare.getAttribute("Refundable") fare_array['ETicketable'] = fare.getAttribute("ETicketable") flight['fares'].append(fare_array) results.append(flight) # first 20 flights if i > 20: print results sys.exit(0) else: i = i + 1 return results