-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmy_fields.py
More file actions
executable file
·50 lines (46 loc) · 1.53 KB
/
my_fields.py
File metadata and controls
executable file
·50 lines (46 loc) · 1.53 KB
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
#!/usr/local/bin/python3
from flask_restful import fields
"""Provides fields to be used with flask_restful.marshal"""
class Objectid(fields.Raw):
"""Custom field, to typecase ObjectId as str"""
def format(self, value):
return str(value)
# ----- fields -----
file_summary_fields = {
'name': fields.String,
'machine_id': fields.String(default=-1),
'_id': Objectid(default='000000000000000000000000'),
'version': fields.Integer(default=-100),
'uri': fields.Url('file', absolute=True),
'https_uri': fields.Url('file', absolute=True, scheme='https')
}
file_fields = {
'name': fields.String,
'machine_id': fields.String(default=-1),
'_id': Objectid(default='000000000000000000000000'),
'version': fields.Integer(default=-100),
'uri': fields.Url('file', absolute=True),
'https_uri': fields.Url('file', absolute=True, scheme='https'),
'content': fields.String
}
file_list_fields = {'files': fields.Nested(file_fields)}
register_fields = {
'name': fields.String,
'machine_id': fields.String(default=-1),
'uri': fields.Url('file', absolute=True),
}
register_machine_fields = {'callback': fields.String}
registered_machine_fields = {
'_id': Objectid(default='000000000000000000000000'),
}
registered_fields = {
'name': fields.String,
'machine_id': fields.String(default=-1),
'reg_id': Objectid(attribute='_id'),
'reg_uri': fields.Url('register', absolute=True),
}
dir_file_fields = {
'name': fields.String,
'machine_id': fields.String,
'uri': fields.String,
}