Skip to content
Snippets Groups Projects
Commit d65456b0 authored by Renzo Frigato's avatar Renzo Frigato
Browse files

handle timestamps

parent efd7289f
No related branches found
No related tags found
No related merge requests found
......@@ -184,6 +184,8 @@ class ContainerHandler(base.RequestHandler):
else:
payload['permissions'] = parent_container.get('permissions', [])
payload['created'] = payload['modified'] = datetime.datetime.utcnow()
if payload.get('timestamp'):
payload['timestamp'] = dateutil.parser.parse(payload['timestamp'])
permchecker = self._get_permchecker(parent_container=parent_container)
result = mongo_validator(permchecker(self.storage.exec_op))('POST', payload=payload)
......@@ -213,6 +215,8 @@ class ContainerHandler(base.RequestHandler):
permchecker = self._get_permchecker(container, target_parent_container)
payload['modified'] = datetime.datetime.utcnow()
if payload.get('timestamp'):
payload['timestamp'] = dateutil.parser.parse(payload['timestamp'])
try:
result = mongo_validator(permchecker(self.storage.exec_op))('PUT', _id=_id, payload=payload)
except APIStorageException as e:
......
......@@ -184,6 +184,8 @@ class NotesListHandler(ListHandler):
payload['_id'] = payload.get('_id') or str(bson.objectid.ObjectId())
payload['author'] = payload.get('author', self.uid)
payload['created'] = payload['modified'] = datetime.datetime.utcnow()
if payload.get('timestamp'):
payload['timestamp'] = dateutil.parser.parse(payload['timestamp'])
result = keycheck(mongo_validator(permchecker(storage.exec_op)))('POST', _id, payload=payload)
if result.modified_count == 1:
......@@ -198,6 +200,8 @@ class NotesListHandler(ListHandler):
payload = self.request.json_body
input_validator(payload, 'PUT')
payload['modified'] = datetime.datetime.utcnow()
if payload.get('timestamp'):
payload['timestamp'] = dateutil.parser.parse(payload['timestamp'])
result = keycheck(mongo_validator(permchecker(storage.exec_op)))('PUT', _id, query_params=kwargs, payload=payload)
if result.modified_count == 1:
......
......@@ -296,8 +296,4 @@ def guess_filetype(filepath, mimetype):
elif type_ == 'text' and subtype == 'plain':
return 'text'
else:
return subtype
def parse_timestamp(iso_timestamp):
return dateutil.parser.parse(iso_timestamp)
return subtype
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment