Exemple #1
0
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)
Exemple #2
0
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)
Exemple #3
0
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)
Exemple #4
0
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)
Exemple #5
0
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)
Exemple #6
0
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)
Exemple #7
0
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)
Exemple #8
0
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)
Exemple #9
0
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)
Exemple #10
0
def add_event(mapper, conn, target):
    """Update PyBossa feed with new user."""
    obj = target.dictize()
    obj['action_updated']='User'
    update_redis(obj)