forked from glebpopoff/Hacker-News-Droid-API
-
Notifications
You must be signed in to change notification settings - Fork 0
/
GetHNNewestHandler.py
34 lines (26 loc) · 1.21 KB
/
GetHNNewestHandler.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/env python
#
# Hacker News Droid API: returns newest articles in JSON or XML using HTML Parser
# Gleb Popov. September 2011
#
import os
from google.appengine.ext import webapp
import Formatter
import GAHelper
import APIContent
class HackerNewsNewestHandler(webapp.RequestHandler):
#controller main entry
def get(self, format='json', page=''):
#set content-type
self.response.headers['Content-Type'] = Formatter.contentType(format)
referer = ''
if ('HTTP_REFERER' in os.environ):
referer = os.environ['HTTP_REFERER']
returnData = APIContent.getHackerNewsNewestContent(page, format, self.request.url, referer, self.request.remote_addr)
if (not returnData or returnData == None or returnData == '' or returnData == 'None'):
#call the service again this time without the pageID
returnData = APIContent.getHackerNewsNewestContent('', format, self.request.url, referer, self.request.remote_addr)
#track this request
GAHelper.trackGARequests('/newest', self.request.remote_addr, referer)
#output to the browser
self.response.out.write(Formatter.dataWrapper(format, returnData, self.request.get('callback')))