Question

Which would be a better to way to get contents from two different request handlers? This is how my app structure looks like

#/twitter/<query>
class TwitterSearch(webapp2.RequestHandler):

    def get(self,query):

        #get data from Twitter
        json_data = data_from_twiiter()
        return json_data

#/google/<query>
class GoogleSearch(webapp2.RequestHandler):

    def get(self,query):

        #get data from Twitter
        json_data = data_from_google()
        return json_data

Now I can access twitter search data and Google search data separately by calling their respective URL.

I also need to combine both these search results and offer to the user. What would be my best approach to do this ?

Should I call the get method of the respective classes like this ?

#/search/<query> 
#Combined search result from google and twitter
class Search(webapp2.RequestHandler):

    def get(self,query):

        t = TwitterSearch()
        twitterSearch = t.get(self,query)

        g = GoogleSearch()
        googlesearch = g.get(self,query)

Or fetch the data from URL using urllib or something like this ?

#/search/<query> 
#Combined search result from google and twitter
class Search(webapp2.RequestHandler):

    def get(self,query):

        t = get_data_from_URL('/twitter/'+query)

        g = get_data_from_URL('/google/'+query)

Or is there some other way to handle this situation?

Était-ce utile?

La solution

You shouldn't make HTTP calls to your own application, that introduces a completely unnecessary level of overhead.

I would do this by extracting the query code into a separate function and calling it from both request handlers.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top