Skip to content
Snippets Groups Projects
Commit c9099cd1 authored by Megan Henning's avatar Megan Henning
Browse files

Use subject code and a timestamp if available

parent 870730f4
No related branches found
No related tags found
No related merge requests found
...@@ -382,7 +382,9 @@ class PackfilePlacer(Placer): ...@@ -382,7 +382,9 @@ class PackfilePlacer(Placer):
# Populated in check(), used in finalize() # Populated in check(), used in finalize()
self.p_id = None self.p_id = None
self.s_label = None self.s_label = None
self.s_code = None
self.a_label = None self.a_label = None
self.a_time = None
self.g_id = None self.g_id = None
self.permissions = {} self.permissions = {}
...@@ -422,6 +424,12 @@ class PackfilePlacer(Placer): ...@@ -422,6 +424,12 @@ class PackfilePlacer(Placer):
self.s_label = self.metadata['session']['label'] self.s_label = self.metadata['session']['label']
self.a_label = self.metadata['acquisition']['label'] self.a_label = self.metadata['acquisition']['label']
# Save additional fields if provided
self.s_code = self.metadata['session'].get('subject', {}).get('code')
self.a_time = self.metadata['acquisition'].get('timestamp')
if self.a_time:
self.a_time = dateutil.parser.parse(self.a_time)
# Get project info that we need later # Get project info that we need later
project = config.db['projects'].find_one({ '_id': bson.ObjectId(self.p_id)}) project = config.db['projects'].find_one({ '_id': bson.ObjectId(self.p_id)})
self.permissions = project.get('permissions', {}) self.permissions = project.get('permissions', {})
...@@ -547,6 +555,10 @@ class PackfilePlacer(Placer): ...@@ -547,6 +555,10 @@ class PackfilePlacer(Placer):
'group': self.g_id 'group': self.g_id
} }
if self.s_code:
# If they supplied a subject code, use that in the query as well
query['subject.code'] = self.s_code
# Updates if existing # Updates if existing
updates = {} updates = {}
updates['permissions'] = self.permissions updates['permissions'] = self.permissions
...@@ -576,6 +588,11 @@ class PackfilePlacer(Placer): ...@@ -576,6 +588,11 @@ class PackfilePlacer(Placer):
'label': self.a_label, 'label': self.a_label,
} }
if self.a_time:
# If they supplied an acquisition timestamp, use that in the query as well
query['timestamp'] = self.a_time
# Updates if existing # Updates if existing
updates = {} updates = {}
updates['permissions'] = self.permissions updates['permissions'] = self.permissions
......
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