forked from dkopitsa/feedback.js
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsample_backend.py
executable file
·66 lines (54 loc) · 2.39 KB
/
sample_backend.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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/usr/bin/env python
# coding=utf-8
""" test backend to receive the data send by feedback.js """
from __future__ import division
import bottle
import urllib
import json
import base64
@bottle.route('/', method='POST')
def test():
print 'content length = %s' % bottle.request.content_length
postdata = bottle.request.body.read()
# skip the initial 'data=' prolog
payload = urllib.unquote_plus(postdata[5:])
alldata = json.loads(payload)
data = alldata[0]
print "issue = %s" % data.get("issue")
print "url = %s" % data.get("url")
print "timeOpened = %s" % data.get("timeOpened")
print "timezone = %s" % data.get("timezone")
print "pageon = %s" % data.get("pageon")
print "referrer = %s" % data.get("referrer")
print "previousSites = %s" % data.get("previousSites")
print "browserName = %s" % data.get("browserName")
print "browserEngine = %s" % data.get("browserEngine")
print "browserVersion1a = %s" % data.get("browserVersion1a")
print "browserVersion1b = %s" % data.get("browserVersion1b")
print "browserLanguage = %s" % data.get("browserLanguage")
print "browserOnline = %s" % data.get("browserOnline")
print "browserPlatform = %s" % data.get("browserPlatform")
print "javaEnabled = %s" % data.get("javaEnabled")
print "dataCookiesEnabled = %s" % data.get("dataCookiesEnabled")
print "dataCookies1 = %s" % data.get("dataCookies1")
print "dataCookies2 = %s" % data.get("dataCookies2")
print "dataStorage = %s" % data.get("dataStorage")
print "sizeScreenW = %s" % data.get("sizeScreenW")
print "sizeScreenH = %s" % data.get("sizeScreenH")
print "sizeDocW = %s" % data.get("sizeDocW")
print "sizeDocH = %s" % data.get("sizeDocH")
print "sizeInW = %s" % data.get("sizeInW")
print "sizeInH = %s" % data.get("sizeInH")
print "sizeAvailW = %s" % data.get("sizeAvailW")
print "sizeAvailH = %s" % data.get("sizeAvailH")
print "scrColorDepth = %s" % data.get("scrColorDepth")
print "scrPixelDepth = %s" % data.get("scrPixelDepth")
# skip the initial 'data:image/png;base64,' prolog
encoded_image = alldata[1][22:]
image = base64.b64decode(encoded_image)
png = open("screenshot.png", "wb")
png.write(image)
return bottle.HTTPResponse(status=201, body='OK')
if __name__ == '__main__':
bottle.debug(True)
bottle.run(host='127.0.0.1', port=8080, reloader=True, server='cherrypy')