diff options
| -rw-r--r-- | browserlogger.py | 14 | ||||
| -rw-r--r-- | firefox-addon/lib/main.js | 5 | ||||
| -rw-r--r-- | firefox-addon/package.json | 7 | ||||
| -rw-r--r-- | models.py | 1 |
4 files changed, 20 insertions, 7 deletions
diff --git a/browserlogger.py b/browserlogger.py index 5466880..1bd216d 100644 --- a/browserlogger.py +++ b/browserlogger.py @@ -10,14 +10,18 @@ class MyHandler(BaseHTTPRequestHandler): def do_POST(self): length = int(self.headers['Content-Length']) - data = parse_qs(self.rfile.read(length).decode('utf-8')) - time = datetime.utcfromtimestamp(int(data["time"][0]) / 1000.) + data = parse_qs(self.rfile.read(length)) + data = {key: data[key][0].decode("utf8") for key in data.iterkeys()} + time = datetime.utcfromtimestamp(int(data["time"]) / 1000.) if data["url"][0] == "null": url, title = None, None else: - url, title = data["url"][0], data["title"][0] - event = BrowserEvent(time=time, url=url, - title=title) + try: + url, title = (data["url"], data["title"]) + except KeyError: + print data + event = BrowserEvent(time=time, url=url, title=title, + browser_key=data["key"]) self.server.logger.info(event) self.send_response(202) self.end_headers() diff --git a/firefox-addon/lib/main.js b/firefox-addon/lib/main.js index c5446f2..cc8845e 100644 --- a/firefox-addon/lib/main.js +++ b/firefox-addon/lib/main.js @@ -7,9 +7,10 @@ var XMLHttpRequest = require("sdk/net/xhr").XMLHttpRequest; function log(url, title){ var xhr = new XMLHttpRequest(); xhr.open("POST", prefs.callbackUrl); - var data = "url=" + url; + var data = "url=" + encodeURIComponent(url); data += "&time=" + Date.now(); - data += "&title=" + title; + data += "&title=" + encodeURIComponent(title); + data += "&key=" + encodeURIComponent(prefs.key); xhr.send(data); } diff --git a/firefox-addon/package.json b/firefox-addon/package.json index af6f529..6c89753 100644 --- a/firefox-addon/package.json +++ b/firefox-addon/package.json @@ -12,5 +12,12 @@ "title": "CallbackĀ URL", "description": "URL to be notified on page load/show.", "value": "http://localhost:8080" + }, + { + "name": "key", + "type": "string", + "title": "Browser key", + "description": "Key to identify the browser.", + "value": "firefox" }] } @@ -93,6 +93,7 @@ class BrowserEvent(Event, Base): url = Column(String) title = Column(String) + browser_key = Column(String) if __name__ == "__main__": |
