Skip to content

Commit

Permalink
Clean up old Flask code to make tests pass.
Browse files Browse the repository at this point in the history
  • Loading branch information
Christopher Peplin committed Apr 12, 2012
1 parent d90b89a commit 84520d6
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 42 deletions.
26 changes: 14 additions & 12 deletions handlers/records.py
Expand Up @@ -2,10 +2,10 @@
import json
import collections

from util import make_status_response, generate_filename
from util import generate_filename
from util import massage_record
from settings import settings
from handlers.base import BaseWebSocketHandler
from handlers.base import BaseHandler, BaseWebSocketHandler

import logging
log = logging.getLogger('recorder.' + __name__)
Expand All @@ -26,15 +26,7 @@ def queue_listener():
client.write_message(unicode(data))


class RecordsHandler(BaseWebSocketHandler):
def open(self):
log.debug("Websocket opened on %s", self.request.remote_ip)
LISTENERS.append(self)

def on_close(self):
log.debug("Websocket closed on %s", self.request.remote_ip)
LISTENERS.remove(self)

class RecordsHandler(BaseHandler):
def post(self):
records = self.get_json_argument('records', None)
with open(generate_filename(settings), 'a') as trace_file:
Expand All @@ -43,4 +35,14 @@ def post(self):
trace_file.write("%s: %s\r\n" % (timestamp, json.dumps(record)))
record = massage_record(record, float(timestamp))
RECORD_QUEUE.put(record)
return make_status_response(201)
self.set_status(201)


class RecordsWebSocketHandler(BaseWebSocketHandler):
def open(self):
log.debug("Websocket opened on %s", self.request.remote_ip)
LISTENERS.append(self)

def on_close(self):
log.debug("Websocket closed on %s", self.request.remote_ip)
LISTENERS.remove(self)
5 changes: 0 additions & 5 deletions tests/test_records.py
@@ -1,11 +1,6 @@
from tornado.httpclient import HTTPRequest
import json
import os.path
import json
import shutil
from xml.etree import ElementTree as ET

from flask import url_for

from util import generate_filename
from settings import settings
Expand Down
2 changes: 0 additions & 2 deletions tests/test_visualization.py
Expand Up @@ -5,8 +5,6 @@
import shutil
from xml.etree import ElementTree as ET

from flask import url_for

from util import generate_filename
from util import make_trace_folder

Expand Down
3 changes: 2 additions & 1 deletion urls.py
@@ -1,8 +1,9 @@
from handlers.visualization import VisualizationHandler
from handlers.records import RecordsHandler
from handlers.records import RecordsHandler, RecordsWebSocketHandler

url_patterns = [
(r'/', VisualizationHandler),
(r'/visualization', VisualizationHandler),
(r'/records', RecordsHandler),
(r'/records.ws', RecordsWebSocketHandler),
]
22 changes: 0 additions & 22 deletions util.py
@@ -1,23 +1,11 @@
import json
import errno
import os
from datetime import datetime
from functools import partial

from flask import Response, make_response, request


FILENAME_DATE_FORMAT = '%Y-%m-%d-%H'

def jsonify(**kwargs):
return Response(json.dumps(kwargs), mimetype='application/json')


def make_status_response(status):
response = make_response()
response.status_code = status
return response


def generate_filename(settings, d=None):
d = d or datetime.now()
Expand All @@ -37,13 +25,3 @@ def make_trace_folder(settings):
if exc.errno == errno.EEXIST:
pass
else: raise


def request_wants(mimetype):
best = request.accept_mimetypes \
.best_match([mimetype, 'text/html'])
return best == mimetype and \
request.accept_mimetypes[best] > \
request.accept_mimetypes['text/html']

request_wants_json = partial(request_wants, 'application/json')

0 comments on commit 84520d6

Please sign in to comment.