File size: 711 Bytes
989ec3c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from mongoengine import *

import datetime
import time


class Event(EmbeddedDocument):
    
    name = StringField()
    created_at = DateTimeField()

    meta = {'allow_inheritance': True}

    def now(self, event):
        self.created_at = datetime.datetime.now()


class SessionEvent(Event):

    user = StringField(required=True)
    milliseconds = IntField(default=0, min_value=0)
    tools_used = ListField(default=[])

    @classmethod
    def create(self, start, user, end=None, tools=[]):

        if end is None:
            end = time.time()

        return SessionEvent(
            user=user.username,
            milliseconds=int((end-start)*1000)
        )


__all__ = ["Event", "SessionEvent"]