def export_event(event_identifier): from helpers.tasks import export_event_task settings = EXPORT_SETTING settings['image'] = request.json.get('image', False) settings['video'] = request.json.get('video', False) settings['document'] = request.json.get('document', False) settings['audio'] = request.json.get('audio', False) if not event_identifier.isdigit(): event = db.session.query(Event).filter_by(identifier=event_identifier).first() event_id = event.id else: event_id = event_identifier # queue task task = export_event_task.delay( current_identity.email, event_id, settings) # create Job create_export_job(task.id, event_id) # in case of testing if current_app.config.get('CELERY_ALWAYS_EAGER'): # send_export_mail(event_id, task.get()) TASK_RESULTS[task.id] = { 'result': task.get(), 'state': task.state } return jsonify( task_url=url_for('tasks.celery_task', task_id=task.id) )
def export_event(event_identifier): from .helpers.tasks import export_event_task settings = EXPORT_SETTING settings['image'] = request.json.get('image', False) settings['video'] = request.json.get('video', False) settings['document'] = request.json.get('document', False) settings['audio'] = request.json.get('audio', False) if not event_identifier.isdigit(): event = db.session.query(Event).filter_by( identifier=event_identifier).first() event_id = event.id else: event_id = event_identifier # queue task task = export_event_task.delay(current_user.email, event_id, settings) # create Job create_export_job(task.id, event_id) # in case of testing if current_app.config.get('CELERY_ALWAYS_EAGER'): # send_export_mail(event_id, task.get()) TASK_RESULTS[task.id] = {'result': task.get(), 'state': task.state} return jsonify(task_url=url_for('tasks.celery_task', task_id=task.id))
def export_speakers_pdf(event_id): from .helpers.tasks import export_speakers_pdf_task task = export_speakers_pdf_task.delay(event_id) create_export_job(task.id, event_id) return jsonify(task_url=url_for('tasks.celery_task', task_id=task.id))
def export_attendees_csv(event_id): from .helpers.tasks import export_attendees_csv_task task = export_attendees_csv_task.delay(event_id) create_export_job(task.id, event_id) return jsonify(task_url=url_for('tasks.celery_task', task_id=task.id))
def export_event_xcal(event_id): from .helpers.tasks import export_xcal_task # queue task task = export_xcal_task.delay(event_id) # create Job create_export_job(task.id, event_id) return jsonify(task_url=url_for('tasks.celery_task', task_id=task.id))
def export_speakers_csv(event_id): from .helpers.tasks import export_speakers_csv_task status = request.json.get('status') task = export_speakers_csv_task.delay(event_id, status) create_export_job(task.id, event_id) return jsonify(task_url=url_for('tasks.celery_task', task_id=task.id))
def export_sales_csv(): from .helpers.tasks import export_admin_sales_csv_task status = request.json.get('status') task = export_admin_sales_csv_task.delay(status) # here using event_id zero for admin export tasks event_id = 0 create_export_job(task.id, event_id) return jsonify(task_url=url_for('tasks.celery_task', task_id=task.id))
def export_event_ical(event_identifier): if not event_identifier.isdigit(): event = db.session.query(Event).filter_by( identifier=event_identifier).first() event_id = str(event.id) else: event_id = event_identifier from .helpers.tasks import export_ical_task task = export_ical_task.delay(event_id) create_export_job(task.id, event_id) return jsonify(task_url=url_for('tasks.celery_task', task_id=task.id))
def export_event_ical(event_identifier): if not event_identifier.isdigit(): event = db.session.query(Event).filter_by(identifier=event_identifier).first() event_id = str(event.id) else: event_id = event_identifier from .helpers.tasks import export_ical_task task = export_ical_task.delay(event_id) create_export_job(task.id, event_id) return jsonify( task_url=url_for('tasks.celery_task', task_id=task.id) )
def test_create_export_job(self): """Method to test export job before creation""" with self.app.test_request_context(): test_related_event = EventFactoryBasic() save_to_db(test_related_event) test_export_job = ExportJobFactory() save_to_db(test_export_job) test_export_job.event = test_related_event export_event_id = test_export_job.event.id test_task_id = test_export_job.task user = create_user(email='*****@*****.**', password='******') login_user(user) create_export_job(test_task_id, export_event_id) export_job = ExportJob.query.filter_by(event=test_related_event).first() self.assertEqual(export_job.event.name, 'example') self.assertEqual(export_job.user_email, '*****@*****.**')
def start_export_tasks(event): event_id = str(event.id) # XCAL from .helpers.tasks import export_xcal_task task_xcal = export_xcal_task.delay(event_id, temp=False) create_export_job(task_xcal.id, event_id) # ICAL from .helpers.tasks import export_ical_task task_ical = export_ical_task.delay(event_id, temp=False) create_export_job(task_ical.id, event_id) # PENTABARF XML from .helpers.tasks import export_pentabarf_task task_pentabarf = export_pentabarf_task.delay(event_id, temp=False) create_export_job(task_pentabarf.id, event_id)