コード例 #1
0
ファイル: views.py プロジェクト: borysiam/Mturk-Tracker
    def _requester_details(request, requester_id):
        def row_formatter(input):

            for cc in input:
                row = []
                row.append('<a href="{}">{}</a>'.format(
                           reverse('hit_group_details',
                           kwargs={'hit_group_id': cc[3]}), cc[0]))
                row.extend(cc[1:3])
                yield row

        requester_name = HitGroupContent.objects.filter(
            requester_id=requester_id).values_list(
            'requester_name', flat=True).distinct()

        if requester_name:
            requester_name = requester_name[0]
        else:
            requester_name = requester_id

        date_from = (datetime.date.today() - datetime.timedelta(days=30)) \
                    .isoformat()

        data = query_to_tuples("""
    select
        title,
        p.reward,
        p.occurrence_date,
        p.group_id
    from main_hitgroupcontent p
        LEFT JOIN main_requesterprofile r ON p.requester_id = r.requester_id
    where
        p.requester_id = '%s'
        AND coalesce(r.is_public, true) = true
        and
        p.occurrence_date > TIMESTAMP '%s';
        """ % (requester_id, date_from))

        columns = [
            ('string', 'HIT Title'),
            ('number', 'Reward'),
            ('datetime', 'Posted'),
        ]
        ctx = {
            'data': text_row_formater(row_formatter(data)),
            'columns': tuple(columns),
            'title': 'Tasks posted during last 30 days by %s' %
                     (requester_name, ),
            'requester_name': requester_name,
            'requester_id': requester_id,
            'user': request.user,
        }
        return direct_to_template(request, 'main/requester_details.html', ctx)
コード例 #2
0
def requester_details(request, requester_id):
    def row_formatter(input):
        for cc in input:
            row = []
            url = reverse('hit_group_details', kwargs={'hit_group_id': cc[5]})
            row.append('<a href="%s">%s</a>' % (url, cc[0]))
            row.extend(cc[1:5])
            url = reverse('admin-toggle-hitgroup-status', args=(cc[5], ))
            row.append('<a href="%s">%s</a>' %
                       (url, cc[6] and 'public' or 'private'))
            yield row

    requester_name = HitGroupContent.objects.filter(requester_id=requester_id)
    requester_name = requester_name.values_list('requester_name',
                                                flat=True).distinct()

    if requester_name:
        requester_name = requester_name[0]
    else:
        requester_name = requester_id

    date_from = datetime.date.today() - datetime.timedelta(days=30)
    data = query_to_tuples(
        """
        SELECT
            title, hits_available, p.reward, p.occurrence_date,
            (SELECT end_time FROM main_crawl WHERE id = (SELECT max(crawl_id) FROM main_hitgroupstatus WHERE group_id = q.group_id AND hit_group_content_id = p.group_content_id)) - p.occurrence_date, p.group_id, q.is_public
        FROM
            main_hitgroupfirstoccurences p
                JOIN main_hitgroupcontent q ON (p.group_content_id = q.id AND p.requester_id = q.requester_id)
        WHERE
            p.requester_id = %s
            AND p.occurrence_date > %s
            AND q.occurrence_date > %s
        """, requester_id, date_from, date_from)

    columns = (
        ('string', 'HIT Title'),
        ('number', '#HITs'),
        ('number', 'Reward'),
        ('datetime', 'Posted'),
        ('number', 'Duration (Days)'),
        ('string', 'Status'),
    )

    ctx = {
        'data': text_row_formater(row_formatter(data)),
        'columns': tuple(columns),
        'title': 'Last 100 Tasks posted by %s' % requester_name,
        'user': request.user,
    }
    return direct_to_template(request, 'main/requester_details.html', ctx)
コード例 #3
0
ファイル: admin.py プロジェクト: devinshields/Mturk-Tracker
def requester_details(request, requester_id):
    def row_formatter(input):
        for cc in input:
            row = []
            url = reverse('hit_group_details', kwargs={'hit_group_id': cc[5]})
            row.append('<a href="%s">%s</a>' % (url, cc[0]))
            row.extend(cc[1:5])
            url = reverse('admin-toggle-hitgroup-status', args=(cc[5],))
            row.append('<a href="%s">%s</a>' % (url, cc[6] and 'public' or 'private'))
            yield row

    requester_name = HitGroupContent.objects.filter(requester_id=requester_id)
    requester_name = requester_name.values_list('requester_name', flat=True).distinct()

    if requester_name:
        requester_name = requester_name[0]
    else:
        requester_name = requester_id

    date_from = datetime.date.today() - datetime.timedelta(days=30)
    data = query_to_tuples("""
        SELECT
            title, hits_available, p.reward, p.occurrence_date,
            (SELECT end_time FROM main_crawl WHERE id = (SELECT max(crawl_id) FROM main_hitgroupstatus WHERE group_id = q.group_id AND hit_group_content_id = p.group_content_id)) - p.occurrence_date, p.group_id, q.is_public
        FROM
            main_hitgroupfirstoccurences p
                JOIN main_hitgroupcontent q ON (p.group_content_id = q.id AND p.requester_id = q.requester_id)
        WHERE
            p.requester_id = %s
            AND p.occurrence_date > %s
            AND q.occurrence_date > %s
        """, requester_id, date_from, date_from)

    columns = (
        ('string', 'HIT Title'),
        ('number', '#HITs'),
        ('number', 'Reward'),
        ('datetime', 'Posted'),
        ('number', 'Duration (Days)'),
        ('string', 'Status'),
    )

    ctx = {
        'data': text_row_formater(row_formatter(data)),
        'columns': tuple(columns),
        'title': 'Last 100 Tasks posted by %s' % requester_name,
        'user': request.user,
    }
    return direct_to_template(request, 'main/requester_details.html', ctx)
コード例 #4
0
    def _requester_details(request, requester_id):
        def row_formatter(input):

            for cc in input:
                row = []
                row.append('<a href="%s">%s</a>' %
                           (reverse('hit_group_details',
                                    kwargs={'hit_group_id': cc[3]}), cc[0]))
                row.extend(cc[1:3])
                yield row

        requster_name = HitGroupContent.objects.filter(
            requester_id=requester_id).values_list('requester_name',
                                                   flat=True).distinct()

        if requster_name: requster_name = requster_name[0]
        else: requster_name = requester_id

        date_from = (datetime.date.today() -
                     datetime.timedelta(days=30)).isoformat()

        data = query_to_tuples("""
    select
        title,
        p.reward,
        p.occurrence_date,
        p.group_id
    from main_hitgroupcontent p
        LEFT JOIN main_requesterprofile r ON p.requester_id = r.requester_id
    where
        p.requester_id = '%s'
        AND coalesce(r.is_public, true) = true
        and
        p.occurrence_date > TIMESTAMP '%s';
        """ % (requester_id, date_from))

        columns = [
            ('string', 'HIT Title'),
            ('number', 'Reward'),
            ('datetime', 'Posted'),
        ]
        ctx = {
            'data': text_row_formater(row_formatter(data)),
            'columns': tuple(columns),
            'title':
            'Tasks posted during last 30 days by %s' % (requster_name),
            'user': request.user,
        }
        return direct_to_template(request, 'main/requester_details.html', ctx)