Modify scripts to use the changes in data_store_service validate methods
Make sure we return values in the validate methods Minor cleanup
This commit is contained in:
parent
8c88de35cd
commit
5229cf457e
|
@ -1,5 +1,3 @@
|
||||||
from flask import g
|
|
||||||
|
|
||||||
from crc.api.common import ApiError
|
from crc.api.common import ApiError
|
||||||
from crc.services.data_store_service import DataStoreBase
|
from crc.services.data_store_service import DataStoreBase
|
||||||
from crc.scripts.script import Script
|
from crc.scripts.script import Script
|
||||||
|
@ -7,32 +5,35 @@ from crc.scripts.script import Script
|
||||||
|
|
||||||
class FileDataGet(Script, DataStoreBase):
|
class FileDataGet(Script, DataStoreBase):
|
||||||
def get_description(self):
|
def get_description(self):
|
||||||
return """Gets user data from the data store - takes only two keyword arguments arguments: 'file_id' and 'key' """
|
return """Gets user data from the data store - takes two keyword arguments arguments: 'file_id' and 'key' """
|
||||||
|
|
||||||
def do_task_validate_only(self, task, study_id, workflow_id, *args, **kwargs):
|
def do_task_validate_only(self, task, study_id, workflow_id, *args, **kwargs):
|
||||||
if self.validate_kw_args(**kwargs):
|
self.validate_kw_args(**kwargs)
|
||||||
myargs = [kwargs['key']]
|
my_args = [kwargs['key']]
|
||||||
return True
|
if 'default' in kwargs.keys():
|
||||||
|
my_args.append(kwargs['default'])
|
||||||
|
result = self.get_validate_common('file_data_get', None, None, kwargs['file_id'], *my_args)
|
||||||
|
return result
|
||||||
|
|
||||||
def validate_kw_args(self,**kwargs):
|
@staticmethod
|
||||||
if kwargs.get('key',None) is None:
|
def validate_kw_args(**kwargs):
|
||||||
|
if kwargs.get('key', None) is None:
|
||||||
raise ApiError(code="missing_argument",
|
raise ApiError(code="missing_argument",
|
||||||
message=f"The 'file_data_get' script requires a keyword argument of 'key'")
|
message=f"The 'file_data_get' script requires a keyword argument of 'key'")
|
||||||
|
|
||||||
if kwargs.get('file_id',None) is None:
|
if kwargs.get('file_id', None) is None:
|
||||||
raise ApiError(code="missing_argument",
|
raise ApiError(code="missing_argument",
|
||||||
message=f"The 'file_data_get' script requires a keyword argument of 'file_id'")
|
message=f"The 'file_data_get' script requires a keyword argument of 'file_id'")
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
def do_task(self, task, study_id, workflow_id, *args, **kwargs):
|
def do_task(self, task, study_id, workflow_id, *args, **kwargs):
|
||||||
if self.validate_kw_args(**kwargs):
|
self.validate_kw_args(**kwargs)
|
||||||
myargs = [kwargs['key']]
|
my_args = [kwargs['key']]
|
||||||
if 'default' in kwargs.keys():
|
if 'default' in kwargs.keys():
|
||||||
myargs.append(kwargs['default'])
|
my_args.append(kwargs['default'])
|
||||||
|
|
||||||
return self.get_data_common(None,
|
return self.get_data_common(None,
|
||||||
None,
|
None,
|
||||||
'file_data_get',
|
'file_data_get',
|
||||||
kwargs['file_id'],
|
kwargs['file_id'],
|
||||||
*myargs)
|
*my_args)
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
from flask import g
|
|
||||||
|
|
||||||
from crc.api.common import ApiError
|
from crc.api.common import ApiError
|
||||||
from crc.services.data_store_service import DataStoreBase
|
from crc.services.data_store_service import DataStoreBase
|
||||||
from crc.scripts.script import Script
|
from crc.scripts.script import Script
|
||||||
|
@ -9,16 +7,23 @@ from crc.services.user_file_service import UserFileService
|
||||||
|
|
||||||
class FileDataSet(Script, DataStoreBase):
|
class FileDataSet(Script, DataStoreBase):
|
||||||
def get_description(self):
|
def get_description(self):
|
||||||
return """Sets data the data store - takes three keyword arguments arguments: 'file_id' and 'key' and 'value'"""
|
return """Sets data the data store - takes three keyword arguments arguments: 'file_id', 'key' and 'value'"""
|
||||||
|
|
||||||
def do_task_validate_only(self, task, study_id, workflow_id, *args, **kwargs):
|
def do_task_validate_only(self, task, study_id, workflow_id, *args, **kwargs):
|
||||||
if self.validate_kw_args(**kwargs):
|
self.validate_kw_args(**kwargs)
|
||||||
myargs = [kwargs['key'],kwargs['value']]
|
my_args = [kwargs['key'], kwargs['value']]
|
||||||
fileid = kwargs['file_id']
|
file_id = kwargs['file_id']
|
||||||
del(kwargs['file_id'])
|
result = self.set_validate_common(task.id,
|
||||||
return True
|
study_id,
|
||||||
|
workflow_id,
|
||||||
|
'file_data_set',
|
||||||
|
None,
|
||||||
|
file_id,
|
||||||
|
*my_args)
|
||||||
|
return result
|
||||||
|
|
||||||
def validate_kw_args(self, **kwargs):
|
@staticmethod
|
||||||
|
def validate_kw_args(**kwargs):
|
||||||
if kwargs.get('key', None) is None:
|
if kwargs.get('key', None) is None:
|
||||||
raise ApiError(code="missing_argument",
|
raise ApiError(code="missing_argument",
|
||||||
message=f"The 'file_data_get' script requires a keyword argument of 'key'")
|
message=f"The 'file_data_get' script requires a keyword argument of 'key'")
|
||||||
|
@ -32,28 +37,26 @@ class FileDataSet(Script, DataStoreBase):
|
||||||
if kwargs['key'] == 'irb_code' and not DocumentService.is_allowed_document(kwargs.get('value')):
|
if kwargs['key'] == 'irb_code' and not DocumentService.is_allowed_document(kwargs.get('value')):
|
||||||
raise ApiError("invalid_form_field_key",
|
raise ApiError("invalid_form_field_key",
|
||||||
"When setting an irb_code, the form field id must match a known document in the "
|
"When setting an irb_code, the form field id must match a known document in the "
|
||||||
"irb_docunents.xslx reference file. This code is not found in that file '%s'" %
|
"irb_documents.xlsx reference file. This code is not found in that file '%s'" %
|
||||||
kwargs.get('value'))
|
kwargs.get('value'))
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
def do_task(self, task, study_id, workflow_id, *args, **kwargs):
|
def do_task(self, task, study_id, workflow_id, *args, **kwargs):
|
||||||
if self.validate_kw_args(**kwargs):
|
self.validate_kw_args(**kwargs)
|
||||||
myargs = [kwargs['key'],kwargs['value']]
|
my_args = [kwargs['key'], kwargs['value']]
|
||||||
|
|
||||||
try:
|
try:
|
||||||
fileid = int(kwargs['file_id'])
|
fileid = int(kwargs['file_id'])
|
||||||
except:
|
except Exception:
|
||||||
raise ApiError("invalid_file_id",
|
raise ApiError("invalid_file_id",
|
||||||
"Attempting to update DataStore for an invalid fileid '%s'" % kwargs['file_id'])
|
"Attempting to update DataStore for an invalid file_id '%s'" % kwargs['file_id'])
|
||||||
|
|
||||||
del(kwargs['file_id'])
|
del(kwargs['file_id'])
|
||||||
if kwargs['key'] == 'irb_code':
|
if kwargs['key'] == 'irb_code':
|
||||||
irb_doc_code = kwargs['value']
|
irb_doc_code = kwargs['value']
|
||||||
UserFileService.update_irb_code(fileid, irb_doc_code)
|
UserFileService.update_irb_code(fileid, irb_doc_code)
|
||||||
|
|
||||||
|
|
||||||
return self.set_data_common(task.id,
|
return self.set_data_common(task.id,
|
||||||
None,
|
None,
|
||||||
None,
|
None,
|
||||||
|
@ -61,6 +64,5 @@ class FileDataSet(Script, DataStoreBase):
|
||||||
None,
|
None,
|
||||||
'file_data_set',
|
'file_data_set',
|
||||||
fileid,
|
fileid,
|
||||||
*myargs,
|
*my_args,
|
||||||
**kwargs)
|
**kwargs)
|
||||||
|
|
||||||
|
|
|
@ -2,16 +2,12 @@ from crc.services.data_store_service import DataStoreBase
|
||||||
from crc.scripts.script import Script
|
from crc.scripts.script import Script
|
||||||
|
|
||||||
|
|
||||||
class StudyDataGet(Script,DataStoreBase):
|
class StudyDataGet(Script, DataStoreBase):
|
||||||
def get_description(self):
|
def get_description(self):
|
||||||
return """Gets study data from the data store."""
|
return """Gets study data from the data store."""
|
||||||
|
|
||||||
def do_task_validate_only(self, task, study_id, workflow_id, *args, **kwargs):
|
def do_task_validate_only(self, task, study_id, workflow_id, *args, **kwargs):
|
||||||
value = self.get_validate_common(study_id, None, 'study_data_get', None, *args)
|
return self.get_validate_common('study_data_get', study_id, None, None, *args)
|
||||||
# return self.do_task(task, study_id, workflow_id, *args, **kwargs)
|
|
||||||
|
|
||||||
print('do_task_validate_only')
|
|
||||||
return value
|
|
||||||
|
|
||||||
def do_task(self, task, study_id, workflow_id, *args, **kwargs):
|
def do_task(self, task, study_id, workflow_id, *args, **kwargs):
|
||||||
return self.get_data_common(study_id,
|
return self.get_data_common(study_id,
|
||||||
|
@ -19,4 +15,3 @@ class StudyDataGet(Script,DataStoreBase):
|
||||||
'study_data_get',
|
'study_data_get',
|
||||||
None,
|
None,
|
||||||
*args)
|
*args)
|
||||||
|
|
||||||
|
|
|
@ -2,17 +2,19 @@ from crc.services.data_store_service import DataStoreBase
|
||||||
from crc.scripts.script import Script
|
from crc.scripts.script import Script
|
||||||
|
|
||||||
|
|
||||||
class StudyDataSet(Script,DataStoreBase):
|
class StudyDataSet(Script, DataStoreBase):
|
||||||
def get_description(self):
|
def get_description(self):
|
||||||
return """Sets study data from the data store. Takes two positional arguments key and value"""
|
return """Sets study data from the data store. Takes two positional arguments key and value"""
|
||||||
|
|
||||||
def do_task_validate_only(self, task, study_id, workflow_id, *args, **kwargs):
|
def do_task_validate_only(self, task, study_id, workflow_id, *args, **kwargs):
|
||||||
self.set_validate_common(study_id,
|
result = self.set_validate_common(task.id,
|
||||||
|
study_id,
|
||||||
workflow_id,
|
workflow_id,
|
||||||
None,
|
|
||||||
'study_data_set',
|
'study_data_set',
|
||||||
None,
|
None,
|
||||||
|
None,
|
||||||
*args)
|
*args)
|
||||||
|
return result
|
||||||
|
|
||||||
def do_task(self, task, study_id, workflow_id, *args, **kwargs):
|
def do_task(self, task, study_id, workflow_id, *args, **kwargs):
|
||||||
return self.set_data_common(task.id,
|
return self.set_data_common(task.id,
|
||||||
|
@ -24,9 +26,3 @@ class StudyDataSet(Script,DataStoreBase):
|
||||||
None,
|
None,
|
||||||
*args,
|
*args,
|
||||||
**kwargs)
|
**kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ class UserDataGet(Script, DataStoreBase):
|
||||||
return """Gets user data from the data store - takes only one argument 'key' """
|
return """Gets user data from the data store - takes only one argument 'key' """
|
||||||
|
|
||||||
def do_task_validate_only(self, task, study_id, workflow_id, *args, **kwargs):
|
def do_task_validate_only(self, task, study_id, workflow_id, *args, **kwargs):
|
||||||
self.do_task(task, study_id, workflow_id, *args, **kwargs)
|
return self.get_validate_common('user_data_get', None, g.user.uid, None, *args)
|
||||||
|
|
||||||
def do_task(self, task, study_id, workflow_id, *args, **kwargs):
|
def do_task(self, task, study_id, workflow_id, *args, **kwargs):
|
||||||
return self.get_data_common(None,
|
return self.get_data_common(None,
|
||||||
|
|
|
@ -4,17 +4,18 @@ from crc.services.data_store_service import DataStoreBase
|
||||||
from crc.scripts.script import Script
|
from crc.scripts.script import Script
|
||||||
|
|
||||||
|
|
||||||
class UserDataSet(Script,DataStoreBase):
|
class UserDataSet(Script, DataStoreBase):
|
||||||
def get_description(self):
|
def get_description(self):
|
||||||
return """Sets user data to the data store these are positional arguments key and value.
|
return """Sets user data to the data store these are positional arguments key and value.
|
||||||
example: user_data_set('mykey','myvalue')
|
example: user_data_set('my_key','my_value')
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def do_task_validate_only(self, task, study_id, workflow_id, *args, **kwargs):
|
def do_task_validate_only(self, task, study_id, workflow_id, *args, **kwargs):
|
||||||
self.set_validate_common(None,
|
self.set_validate_common(task.id,
|
||||||
|
study_id,
|
||||||
workflow_id,
|
workflow_id,
|
||||||
g.user.uid,
|
|
||||||
'user_data_set',
|
'user_data_set',
|
||||||
|
g.user.uid,
|
||||||
None,
|
None,
|
||||||
*args)
|
*args)
|
||||||
|
|
||||||
|
@ -28,6 +29,3 @@ class UserDataSet(Script,DataStoreBase):
|
||||||
None,
|
None,
|
||||||
*args,
|
*args,
|
||||||
**kwargs)
|
**kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue