Skip to content

Commit

Permalink
use StreamingHttpResponse everywhere now. Add monitor.us uptime and r…
Browse files Browse the repository at this point in the history
…esponse statistics
  • Loading branch information
ihptru committed Feb 13, 2014
1 parent 9e78141 commit ab4c06a
Show file tree
Hide file tree
Showing 6 changed files with 125 additions and 34 deletions.
20 changes: 10 additions & 10 deletions openraData/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from django.conf import settings
from django.views.decorators.csrf import csrf_exempt
from django.http import Http404
from django.http import HttpResponse, HttpResponseRedirect
from django.http import HttpResponse, HttpResponseRedirect, StreamingHttpResponse
from django.db.models import Count

from openraData.models import Maps
Expand All @@ -24,7 +24,7 @@ def mapAPI(request, arg, value="", apifilter="", filtervalue=""):
except:
raise Http404
response_data = serialize_basic_map_info(mapObject)
return HttpResponse(json.dumps(response_data), content_type="application/json")
return StreamingHttpResponse(json.dumps(response_data), content_type="application/json")

# get detailed map info by hash
elif arg == "hash":
Expand All @@ -34,7 +34,7 @@ def mapAPI(request, arg, value="", apifilter="", filtervalue=""):
except:
raise Http404
response_data = serialize_basic_map_info(mapObject)
return HttpResponse(json.dumps(response_data), content_type="application/json")
return StreamingHttpResponse(json.dumps(response_data), content_type="application/json")

# get URL of map by hash
elif arg == "url":
Expand All @@ -53,7 +53,7 @@ def mapAPI(request, arg, value="", apifilter="", filtervalue=""):
response_data['map_hash'] = mapObject.map_hash
response_data['revision'] = mapObject.revision
response_data['last_revision'] = last_revision
return HttpResponse(json.dumps(response_data), content_type="application/json")
return StreamingHttpResponse(json.dumps(response_data), content_type="application/json")

# get minimap preview by hash (represented in JSON by encoded into base64)
elif arg == "minimap":
Expand All @@ -76,7 +76,7 @@ def mapAPI(request, arg, value="", apifilter="", filtervalue=""):
response_data['map_hash'] = mapObject.map_hash
response_data['revision'] = mapObject.revision
response_data['last_revision'] = last_revision
return HttpResponse(json.dumps(response_data), content_type="application/json")
return StreamingHttpResponse(json.dumps(response_data), content_type="application/json")

# get detailed map info + encoded minimap + URL for a range of maps (supports filters)
elif arg == "list":
Expand Down Expand Up @@ -121,7 +121,7 @@ def mapAPI(request, arg, value="", apifilter="", filtervalue=""):
response_data['url'] = url
basic_response.append(response_data)

return HttpResponse(json.dumps(basic_response), content_type="application/json")
return StreamingHttpResponse(json.dumps(basic_response), content_type="application/json")
elif arg == "sync":
mod = value
if mod == "":
Expand All @@ -137,7 +137,7 @@ def mapAPI(request, arg, value="", apifilter="", filtervalue=""):
data = ""
for item in mapObject:
data = data + get_url(request, item.id) + "/sync" + "\n"
return HttpResponse(data, content_type="plain/text")
return StreamingHttpResponse(data, content_type="plain/text")
else:
# serve application/zip by hash
oramap = ""
Expand All @@ -162,7 +162,7 @@ def mapAPI(request, arg, value="", apifilter="", filtervalue=""):
raise Http404
serveOramap = path + os.sep + oramap
oramap = os.path.splitext(oramap)[0] + "-" + str(mapObject.revision) + ".oramap"
response = HttpResponse(open(serveOramap), content_type='application/zip')
response = StreamingHttpResponse(open(serveOramap), content_type='application/zip')
response['Content-Disposition'] = 'attachment; filename = "%s"' % oramap
return response

Expand Down Expand Up @@ -329,7 +329,7 @@ def CrashLogs(request):
content = json.dumps(content)
command = "curl -k -X POST --data '%s' https://api.github.com/repos/%s/%s/issues?access_token=%s > /dev/null 2>&1" % (content, settings.GITHUB_USER, settings.GITHUB_REPO, settings.GITHUB_API_TOKEN)
os.system(command)
return HttpResponse('Done, check https://github.com/%s/%s/search?q=GameID:%s&ref=cmdform&type=Issues\n' % (settings.GITHUB_USER, settings.GITHUB_REPO, gameID))
return StreamingHttpResponse('Done, check https://github.com/%s/%s/search?q=GameID:%s&ref=cmdform&type=Issues\n' % (settings.GITHUB_USER, settings.GITHUB_REPO, gameID))

def CrashLogsServe(request, crashid, logfile):
logfilename = ""
Expand All @@ -345,6 +345,6 @@ def CrashLogsServe(request, crashid, logfile):
if logfilename == "":
return HttpResponseRedirect('/crashlogs/')
serveLog = path + os.sep + logfilename
response = HttpResponse(open(serveLog), content_type='plain/text')
response = StreamingHttpResponse(open(serveLog), content_type='plain/text')
response['Content-Disposition'] = 'attachment; filename="%s"' % crashid.lstrip('0')+logfilename
return response
7 changes: 7 additions & 0 deletions openraData/static/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -495,4 +495,11 @@ p.registerInfo {
.primaryAction {
float: right;
margin-right: 5px;
}

#uptime {
background: none repeat scroll 0% 0% rgba(32, 44, 69, 0.4);
text-align: center;
border: 2px solid #74c2e7;
padding-top: 20px;
}
2 changes: 1 addition & 1 deletion openraData/templates/links.html
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,4 @@ <h3>This Website:</h3>
<a target="_blank" href="https://github.com/ihptru/OpenRA-Content-Engine/wiki">https://github.com/ihptru/OpenRA-Content-Engine/wiki</a> (wiki)<br/>
<a target="_blank" href="https://github.com/ihptru/OpenRA-Content-Engine/issues?state=open">https://github.com/ihptru/OpenRA-Content-Engine/issues?state=open</a> (issue tracker)<br/>
<a target="_blank" href="http://openra.res0l.net/statistics/">http://openra.res0l.net/statistics/</a> (webserver stats)<br/>
<a target="_blank" href="http://stats.pingdom.com/syygqlg6525r/788293">http://stats.pingdom.com/syygqlg6525r/788293</a> (Pingdom Uptime and Latency Measurement)<br/><br/>
<a target="_blank" href="/uptime/">http://resource.openra.net/uptime/</a> (Uptime and Latency Measurement)<br/><br/>
74 changes: 74 additions & 0 deletions openraData/templates/uptime.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
<div id="uptime">
<script type="text/javascript">
monitorus_widget_id="1568200280";
monitorus_widget_TestName="host";
monitorus_widget_UpYesterday="Uptime yesterday";
monitorus_widget_AvgYesterday="Average response time yesterday";
monitorus_widget_UpCurWeek="";
monitorus_widget_AvgCurWeek="";
monitorus_widget_UpCurMonth="";
monitorus_widget_AvgCurMonth="";
monitorus_widget_selectedCount="3";
monitorus_widget_location_id="1";
monitorus_widget_showLocation="true";
monitorus_widget_width="600";
monitorus_widget_height="90";
monitorus_widget_border_color="#74c2e7";
monitorus_widget_bg_color="#74c2e7";
monitorus_widget_text_color="#FFFFFF";
monitorus_widget_header_color="#FFFFFF";
monitorus_widget_text_size="11px";
monitorus_widget_header_size="11px";
monitorus_widget_font_family="Arial";
</script>
<script type="text/javascript" src="http://dashboard.monitor.us/publicWidget/widgetControl.js"></script>
<noscript><a href="http://www.monitor.us">Monitoring by Monitor.Us. Please enable JavaScript to see the report!</a> </noscript>
<script type="text/javascript">
monitorus_widget_id="212068772";
monitorus_widget_TestName="host";
monitorus_widget_UpYesterday="";
monitorus_widget_AvgYesterday="";
monitorus_widget_UpCurWeek="Uptime current week";
monitorus_widget_AvgCurWeek="Average response time current week";
monitorus_widget_UpCurMonth="";
monitorus_widget_AvgCurMonth="";
monitorus_widget_selectedCount="3";
monitorus_widget_location_id="1";
monitorus_widget_showLocation="true";
monitorus_widget_width="600";
monitorus_widget_height="90";
monitorus_widget_border_color="#74c2e7";
monitorus_widget_bg_color="#74c2e7";
monitorus_widget_text_color="#FFFFFF";
monitorus_widget_header_color="#FFFFFF";
monitorus_widget_text_size="11px";
monitorus_widget_header_size="11px";
monitorus_widget_font_family="Arial";
</script>
<script type="text/javascript" src="http://dashboard.monitor.us/publicWidget/widgetControl.js"></script>
<noscript><a href="http://www.monitor.us">Monitoring by Monitor.Us. Please enable JavaScript to see the report!</a> </noscript>
<script type="text/javascript">
monitorus_widget_id="652032868";
monitorus_widget_TestName="host";
monitorus_widget_UpYesterday="";
monitorus_widget_AvgYesterday="";
monitorus_widget_UpCurWeek="";
monitorus_widget_AvgCurWeek="";
monitorus_widget_UpCurMonth="Uptime current month";
monitorus_widget_AvgCurMonth="Average current month";
monitorus_widget_selectedCount="3";
monitorus_widget_location_id="1";
monitorus_widget_showLocation="true";
monitorus_widget_width="600";
monitorus_widget_height="90";
monitorus_widget_border_color="#74c2e7";
monitorus_widget_bg_color="#74c2e7";
monitorus_widget_text_color="#FFFFFF";
monitorus_widget_header_color="#FFFFFF";
monitorus_widget_text_size="11px";
monitorus_widget_header_size="11px";
monitorus_widget_font_family="Arial";
</script>
<script type="text/javascript" src="http://dashboard.monitor.us/publicWidget/widgetControl.js"></script>
<noscript><a href="http://www.monitor.us">Monitoring by Monitor.Us. Please enable JavaScript to see the report!</a> </noscript>
</div>
1 change: 1 addition & 0 deletions openraData/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@
url(r'^favicon\.ico$', RedirectView.as_view(url='/static/favicon.ico')),
url(r'^robots\.txt$', RedirectView.as_view(url='/static/robots.txt')),
url(r'^sitemap\.xml$', RedirectView.as_view(url='/static/sitemap.xml')),
url(r'^uptime/?$', views.uptime, name="uptime"),

url(r'^.*$', views.handle404, name='handle404'),
)

0 comments on commit ab4c06a

Please sign in to comment.