def import_event_task(self, email, file, source_type, creator_id): """Import Event Task""" task_id = self.request.id.__str__() # str(async result) user = db.session.query(User).filter_by(email=email).first() try: logging.info('Importing started') result = import_event_task_base(self, file, source_type, creator_id) update_import_job(task_id, result['id'], 'SUCCESS') logging.info('Importing done..Sending email') send_import_mail( email=email, event_name=result['event_name'], event_url=result['url'] ) send_notif_after_import( user=user, event_name=result['event_name'], event_url=result['url'] ) except Exception as e: result = {'__error': True, 'result': str(e)} logging.warning('Error in importing the event') update_import_job( task_id, str(e), e.status if hasattr(e, 'status') else 'FAILURE' ) send_import_mail(email=email, error_text=str(e)) send_notif_after_import(user=user, error_text=str(e)) return result
def test_send_notif_after_import(user): """Method to test notification after import""" send_notif_after_import( user, event_name='Tooth Fairy Convention', error_text='TOOTH_NOT_FOUND', ) notification = Notification.query.first() assert notification.title == 'Import of event Tooth Fairy Convention failed' assert (notification.message == 'The following error occurred:<br><pre>TOOTH_NOT_FOUND</pre>')
def import_event_task(self, email, file, source_type, creator_id): """Import Event Task""" task_id = self.request.id.__str__() # str(async result) user = db.session.query(User).filter_by(email=email).first() try: logging.info('Importing started') result = import_event_task_base(self, file, source_type, creator_id) update_import_job(task_id, result['id'], 'SUCCESS') logging.info('Importing done..Sending email') send_import_mail(email=email, event_name=result['event_name'], event_url=result['url']) send_notif_after_import(user=user, event_name=result[ 'event_name'], event_url=result['url']) except Exception as e: print(traceback.format_exc()) result = {'__error': True, 'result': str(e)} update_import_job(task_id, str(e), e.status if hasattr(e, 'status') else 'FAILURE') send_import_mail(email=email, error_text=str(e)) send_notif_after_import(user=user, error_text=str(e)) return result