Merge pull request #406 from sartography/convert-timestamp-499
Convert timestamp #499
This commit is contained in:
commit
2ef03b0c79
|
@ -3,7 +3,7 @@ import traceback
|
|||
|
||||
from crc import app, session
|
||||
from crc.api.common import ApiError
|
||||
from crc.models.email import EmailModelSchema
|
||||
from crc.models.email import EmailModel, EmailModelSchema
|
||||
from crc.models.file import FileModel, CONTENT_TYPES
|
||||
from crc.models.workflow import WorkflowModel
|
||||
from crc.services.document_service import DocumentService
|
||||
|
@ -40,9 +40,10 @@ email(subject="My Subject", recipients="user@example.com", attachments=['Study_A
|
|||
"""
|
||||
|
||||
def do_task_validate_only(self, task, study_id, workflow_id, *args, **kwargs):
|
||||
self.get_subject(kwargs['subject'])
|
||||
self.get_email_addresses(kwargs['recipients'], study_id)
|
||||
EmailService().get_rendered_content(task.task_spec.documentation, task.data)
|
||||
subject = self.get_subject(kwargs['subject'])
|
||||
recipients = self.get_email_addresses(kwargs['recipients'], study_id)
|
||||
content, content_html = EmailService().get_rendered_content(task.task_spec.documentation, task.data)
|
||||
return EmailModel(subject=subject, recipients=recipients, content=content, content_html=content_html)
|
||||
|
||||
def do_task(self, task, study_id, workflow_id, *args, **kwargs):
|
||||
|
||||
|
@ -136,7 +137,7 @@ email(subject="My Subject", recipients="user@example.com", attachments=['Study_A
|
|||
if not subject or not isinstance(subject, str):
|
||||
raise ApiError(code="invalid_argument",
|
||||
message="The subject you provided could not be parsed. "
|
||||
"The value is \"%s\" " % subject)
|
||||
"The value is \"%s\" " % subject)
|
||||
return subject
|
||||
|
||||
@staticmethod
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import datetime
|
||||
|
||||
from crc.api.common import ApiError
|
||||
from crc.scripts.script import Script
|
||||
|
||||
|
@ -13,7 +15,7 @@ class GetLocaltime(Script):
|
|||
|
||||
def do_task_validate_only(self, task, study_id, workflow_id, *args, **kwargs):
|
||||
if 'timestamp' in kwargs:
|
||||
return True
|
||||
return datetime.datetime.now()
|
||||
raise ApiError(code='missing_timestamp',
|
||||
message='You must include a timestamp to convert.')
|
||||
|
||||
|
@ -26,7 +28,7 @@ class GetLocaltime(Script):
|
|||
timezone = 'US/Eastern'
|
||||
parsed_timestamp = dateparser.parse(timestamp)
|
||||
localtime = parsed_timestamp.astimezone(pytz.timezone(timezone))
|
||||
return str(localtime)
|
||||
return localtime
|
||||
|
||||
else:
|
||||
raise ApiError(code='missing_timestamp',
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
from tests.base_test import BaseTest
|
||||
from crc.scripts.get_localtime import GetLocaltime
|
||||
import dateparser
|
||||
|
||||
|
||||
class TestGetLocaltime(BaseTest):
|
||||
|
@ -14,4 +15,4 @@ class TestGetLocaltime(BaseTest):
|
|||
timestamp = task.data['timestamp']
|
||||
localtime = task.data['localtime']
|
||||
|
||||
self.assertEqual(localtime, GetLocaltime().do_task(None, None, None, timestamp=timestamp))
|
||||
self.assertEqual(dateparser.parse(localtime), GetLocaltime().do_task(None, None, None, timestamp=timestamp))
|
||||
|
|
Loading…
Reference in New Issue