Example #1
0
    def post(self, request, format=None):
        r = rethink()
        d = request.DATA
        serializers = []
        for entry in d['entries']:
            s = LogEntrySerializer(data=entry)
            if not s.is_valid():
                return error_response(s, entry)
            serializers.append(s)
            check(s.save(r))

        ret = {
            'entries': [s.data for s in serializers]
        }
        return Response(ret, status=201)
Example #2
0
def on_got_message(sender, message=None, **kwargs):
    if message.message in ('session start', 'session end'):
        r = rethink()
        new = False
        if message.message == 'session start':
            d = {}
            d['id'] = message.id
            d['start_time'] = message.timestamp
            d['user'] = message.user
            new = True
        else:
            # find the existing session to close
            d = list(r.table('sessions').filter(
                lambda e: e['user'] == message.user
            ).order_by('start_time').limit(1).run())[0]
            d['end_time'] = message.timestamp
        s = SessionSerializer(data=d)
        if new:
            check(s.insert(r))
        else:
            check(s.update(r))
Example #3
0
 def get(self, request, name=None, format=None):
     r = rethink()
     return