def add_event(mapper, conn, target): """Update PyBossa feed with new app.""" obj = dict(id=target.id, name=target.name, short_name=target.short_name, action_updated='Project') update_redis(obj)
def add_event(mapper, conn, target): """Update PyBossa feed with new project.""" obj = dict(id=target.id, name=target.name, short_name=target.short_name, action_updated='Project') update_redis(obj)
def update_task_state(mapper, conn, target): """Update the task.state when n_answers condition is met.""" # Get project details sql_query = ('select name, short_name, webhook, info from project \ where id=%s') % target.project_id results = conn.execute(sql_query) project_obj = dict( id=target.project_id, name=None, short_name=None, info=None, webhook=None, action_updated='TaskCompleted') for r in results: project_obj['name'] = r.name project_obj['short_name'] = r.short_name project_obj['info'] = r.info project_obj['webhook'] = r.webhook # Check if user is Authenticated if target.user_id is not None: sql_query = ('select fullname, name, info from "user" \ where id=%s') % target.user_id results = conn.execute(sql_query) for r in results: obj = dict( id=target.user_id, name=r.name, fullname=r.fullname, info=r.info, project_name=project_obj['name'], project_short_name=project_obj['short_name'], action_updated='UserContribution') # Add the event update_redis(obj) # Check if Task.state should be updated sql_query = ('select count(id) from task_run \ where task_run.task_id=%s') % target.task_id n_answers = conn.scalar(sql_query) sql_query = ('select n_answers from task \ where task.id=%s') % target.task_id task_n_answers = conn.scalar(sql_query) if (n_answers) >= task_n_answers: sql_query = ("UPDATE task SET state=\'completed\' \ where id=%s") % target.task_id conn.execute(sql_query) update_redis(project_obj) # PUSH changes via the webhook if project_obj['webhook']: payload = dict( event="task_completed", project_short_name=project_obj['short_name'], project_id=target.project_id, task_id=target.task_id, fired_at=datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S")) webhook_queue.enqueue(webhook, project_obj['webhook'], payload)
def update_task_state(mapper, conn, target): """Update the task.state when n_answers condition is met.""" # Get project details sql_query = ('select name, short_name, webhook, info from project \ where id=%s') % target.project_id results = conn.execute(sql_query) app_obj = dict(id=target.project_id, name=None, short_name=None, info=None, webhook=None, action_updated='TaskCompleted') for r in results: app_obj['name'] = r.name app_obj['short_name'] = r.short_name app_obj['info'] = r.info app_obj['webhook'] = r.webhook # Check if user is Authenticated if target.user_id is not None: sql_query = ('select fullname, name, info from "user" \ where id=%s') % target.user_id results = conn.execute(sql_query) for r in results: obj = dict(id=target.user_id, name=r.name, fullname=r.fullname, info=r.info, app_name=app_obj['name'], project_short_name=app_obj['short_name'], action_updated='UserContribution') # Add the event update_redis(obj) # Check if Task.state should be updated sql_query = ('select count(id) from task_run \ where task_run.task_id=%s') % target.task_id n_answers = conn.scalar(sql_query) sql_query = ('select n_answers from task \ where task.id=%s') % target.task_id task_n_answers = conn.scalar(sql_query) if (n_answers) >= task_n_answers: sql_query = ("UPDATE task SET state=\'completed\' \ where id=%s") % target.task_id conn.execute(sql_query) update_redis(app_obj) # PUSH changes via the webhook if app_obj['webhook']: payload = dict( event="task_completed", project_short_name=app_obj['short_name'], project_id=target.project_id, task_id=target.task_id, fired_at=datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S")) webhook_queue.enqueue(webhook, app_obj['webhook'], payload)
def add_event(mapper, conn, target): """Update PyBossa feed with new blog post.""" sql_query = ('select name, short_name, info from app \ where id=%s') % target.app_id results = conn.execute(sql_query) obj = dict(id=target.app_id, name=None, short_name=None, info=None, action_updated='Blog') for r in results: obj['name'] = r.name obj['short_name'] = r.short_name obj['info'] = r.info update_redis(obj)
def add_event(mapper, conn, target): """Update PyBossa feed with new task.""" sql_query = ('select name, short_name, info from app \ where id=%s') % target.app_id results = conn.execute(sql_query) obj = dict(id=target.app_id, name=None, short_name=None, info=None, action_updated='Task') for r in results: obj['name'] = r.name obj['short_name'] = r.short_name obj['info'] = r.info update_redis(obj)
def add_event(mapper, conn, target): """Update PyBossa feed with new task.""" sql_query = ( ( "select name, short_name, info from project \ where id=%s" ) % target.project_id ) results = conn.execute(sql_query) obj = dict(id=target.project_id, name=None, short_name=None, info=None, action_updated="Task") for r in results: obj["name"] = r.name obj["short_name"] = r.short_name obj["info"] = r.info update_redis(obj)
def update_task_state(mapper, conn, target): """Update the task.state when n_answers condition is met.""" # Get app details sql_query = ('select name, short_name, info from app \ where id=%s') % target.app_id results = conn.execute(sql_query) app_obj = dict(id=target.app_id, name=None, short_name=None, info=None, action_updated='TaskCompleted') for r in results: app_obj['name'] = r.name app_obj['short_name'] = r.short_name app_obj['info'] = r.info # Check if user is Authenticated if target.user_id is not None: sql_query = ('select fullname, name, info from "user" \ where id=%s') % target.user_id results = conn.execute(sql_query) for r in results: obj = dict(id=target.user_id, name=r.name, fullname=r.fullname, info=r.info, app_name=app_obj['name'], app_short_name=app_obj['short_name'], action_updated='UserContribution') # Add the event update_redis(obj) # Check if Task.state should be updated sql_query = ('select count(id) from task_run \ where task_run.task_id=%s') % target.task_id n_answers = conn.scalar(sql_query) sql_query = ('select n_answers from task \ where task.id=%s') % target.task_id task_n_answers = conn.scalar(sql_query) if (n_answers) >= task_n_answers: sql_query = ("UPDATE task SET state=\'completed\' \ where id=%s") % target.task_id conn.execute(sql_query) update_redis(app_obj)
def add_event(mapper, conn, target): """Update PyBossa feed with new user.""" obj = target.dictize() obj['action_updated']='User' update_redis(obj)