Python Example


#1

Hi, Here is a simple python example using SOAPpy. A bit trick at first, til I figured out the HttpResponse stuff … Enjoy



import SOAPpy

class myHTTPTransport(SOAPpy.HTTPTransport):
    username = None
    passwd = None

    @classmethod
    def setAuthentication(cls,u,p):
        cls.username = u
        cls.passwd = p

    def call(self, addr, data, namespace, soapaction=None, encoding=None,
             http_proxy=None, config=SOAPpy.Config):

        if not isinstance(addr, SOAPpy.SOAPAddress):
            addr=SOAPAddress(addr, config)

        if self.username != None:
            addr.user = self.username+":"+self.passwd

        return SOAPpy.HTTPTransport.call(self, addr, data, namespace, soapaction,
                                  encoding, http_proxy, config)


wsdlFile = 'http://flightaware.com/commercial/directflight/data/wsdl1.xml'
myHTTPTransport.setAuthentication('USERNAME', 'CHANGE THIS TO YOUR API KEY')
server = SOAPpy.WSDL.Proxy(wsdlFile, transport=myHTTPTransport)
print server.FlightInfo(ident='AAL1684',howMany=1)



#2

It’s not really that simple, is it?


#3

Yep, works for me. Had to subclass the HTTPTransport in order to pass the credentials, but no problem after that. Looking through results like this


results = server.FlightInfo(ident='AAL121',howMany=1)
print results
for flight in results.flights:
	print flight.ident + ' ' + str(time.strftime("%Y-%m-%dT%H:%M:%S", time.gmtime(flight.filed_departuretime))) + ' ' + str(flight.filed_ete) + ' ' + flight.origin + ' ' + flight.route + ' ' + flight.destination

Let me know if you have further questions.