def import_tasks(project_id, **form_data): """Import tasks for a project.""" from pybossa.core import project_repo app = project_repo.get(project_id) msg = importer.create_tasks(task_repo, project_id, **form_data) msg = msg + " to your project %s!" % app.name subject = "Tasks Import to your project %s" % app.name body = "Hello,\n\n" + msg + "\n\nAll the best,\nThe %s team." % current_app.config.get("BRAND") mail_dict = dict(recipients=[app.owner.email_addr], subject=subject, body=body) send_mail(mail_dict) return msg
def import_tasks(project_id, **form_data): from pybossa.core import project_repo app = project_repo.get(project_id) msg = importer.create_tasks(task_repo, project_id, **form_data) msg = msg + ' to your project %s!' % app.name subject = 'Tasks Import to your project %s' % app.name body = 'Hello,\n\n' + msg + '\n\nAll the best,\nThe %s team.'\ % current_app.config.get('BRAND') mail_dict = dict(recipients=[app.owner.email_addr], subject=subject, body=body) send_mail(mail_dict) return msg
def _import_tasks(project, **form_data): number_of_tasks = importer.count_tasks_to_import(**form_data) if number_of_tasks <= MAX_NUM_SYNCHRONOUS_TASKS_IMPORT: report = importer.create_tasks(task_repo, project.id, **form_data) flash(report.message) else: importer_queue.enqueue(import_tasks, project.id, **form_data) flash( gettext( "You're trying to import a large amount of tasks, so please be patient.\ You will receive an email when the tasks are ready.")) return redirect_content_type( url_for('.import_healthsites_tasks', short_name=project.short_name))
def import_tasks(project_id, current_user_fullname, from_auto=False, **form_data): """Import tasks for a project.""" from pybossa.core import project_repo import pybossa.cache.projects as cached_projects project = project_repo.get(project_id) recipients = [project.owner.email_addr] for user in project.coowners: recipients.append(user.email_addr) try: report = importer.create_tasks(task_repo, project, **form_data) except JobTimeoutException: from pybossa.core import db db.session.rollback() n_tasks = _num_tasks_imported(project_id) subject = 'Your import task has timed out' body = '\n'.join( ['Hello,\n', 'Import task to your project {} by {} failed because the file was too large.', 'It was able to process approximately {} tasks.', 'Please break up your task upload into smaller CSV files.', 'Thank you,\n', 'The {} team.']).format(project.name, current_user_fullname, n_tasks, current_app.config.get('BRAND')) mail_dict = dict(recipients=recipients, subject=subject, body=body) send_mail(mail_dict) raise except Exception as e: msg = (u'Import tasks to your project {0} by {1} failed' .format(project.name, current_user_fullname)) subject = 'Tasks Import to your project %s' % project.name body = ('Hello,\n\n{0}\n\nPlease contact {1} administrator,\nThe {1} team.' .format(msg, current_app.config.get('BRAND'))) mail_dict = dict(recipients=recipients, subject=subject, body=body) send_mail(mail_dict) raise cached_projects.delete_browse_tasks(project_id) if from_auto: form_data['last_import_meta'] = report.metadata project.set_autoimporter(form_data) project_repo.save(project) msg = report.message + u' to your project {0} by {1}'.format(project.name, current_user_fullname) subject = 'Tasks Import to your project %s' % project.name body = 'Hello,\n\n' + msg + '\n\nAll the best,\nThe %s team.'\ % current_app.config.get('BRAND') mail_dict = dict(recipients=recipients, subject=subject, body=body) send_mail(mail_dict) return msg
def import_tasks(project_id, from_auto=False, **form_data): """Import tasks for a project.""" from pybossa.core import project_repo project = project_repo.get(project_id) report = importer.create_tasks(task_repo, project_id, **form_data) if from_auto: form_data["last_import_meta"] = report.metadata project.set_autoimporter(form_data) project_repo.save(project) msg = report.message + " to your project %s!" % project.name subject = "Tasks Import to your project %s" % project.name body = "Hello,\n\n" + msg + "\n\nAll the best,\nThe %s team." % current_app.config.get("BRAND") mail_dict = dict(recipients=[project.owner.email_addr], subject=subject, body=body) send_mail(mail_dict) return msg
def import_tasks(project_id, from_auto=False, **form_data): """Import tasks for a project.""" from pybossa.core import project_repo project = project_repo.get(project_id) report = importer.create_tasks(task_repo, project_id, **form_data) if from_auto: form_data['last_import_meta'] = report.metadata project.set_autoimporter(form_data) project_repo.save(project) msg = report.message + ' to your project %s!' % project.name subject = 'Tasks Import to your project %s' % project.name body = 'Hello,\n\n' + msg + '\n\nAll the best,\nThe %s team.'\ % current_app.config.get('BRAND') mail_dict = dict(recipients=[project.owner.email_addr], subject=subject, body=body) send_mail(mail_dict) return msg