This repository has been archived by the owner on Jan 1, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcameras.py
50 lines (37 loc) · 1.6 KB
/
cameras.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
import mongoengine as me
import datetime
from .users import User
class Manufactory(me.Document):
meta = {'collection': 'camera_manufactories'}
name = me.StringField(max_length=100, required=True)
created_date = me.DateTimeField(
required=True, default=datetime.datetime.now)
class CameraModel(me.Document):
meta = {'collection': 'camera_models'}
name = me.StringField(max_length=100, required=True)
manufactory = me.ReferenceField(Manufactory, required=True, dbref=True)
created_date = me.DateTimeField(
required=True, default=datetime.datetime.now)
class Camera(me.Document):
meta = {'collection': 'cameras'}
username = me.StringField(max_length=100, required=True)
password = me.StringField()
name = me.StringField(required=True)
host = me.StringField()
port = me.IntField()
video_uri = me.StringField(required=True)
audio_uri = me.StringField()
image_uri = me.StringField()
image_size = me.StringField(required=True)
fps = me.IntField(required=True)
status = me.StringField(required=True, default='active')
location = me.GeoPointField()
owner = me.ReferenceField(User, required=True, dbref=True)
camera_model = me.ReferenceField('CameraModel', required=True, dbref=True)
project = me.ReferenceField('Project', required=True, dbref=True)
created_date = me.DateTimeField(
required=True, default=datetime.datetime.now)
updated_date = me.DateTimeField(
required=True, default=datetime.datetime.now)
ip_address = me.StringField(
max_length=100, required=True, default='0.0.0.0')