示例#1
0
def get_exp_fills(_exp_id):
    cur = dbutil.get_cur()
    cur.execute('CALL P_GetExpFills(%s,null,null)' % _exp_id)
    for r in cur:
        f = parse(r)

        quiz = QService.get_questionnaire(f.quiz_id)
        ss = quiz.score(f.answer, col_name=f.quiz_id)

        u = users.get(f.site_uid)
        if u is None:
            u = OrderedDict()
        u.update(ss)
        for s in ss:
            dimensions[s] = 0

        if f.quiz_id in quiz_with_answer:
            answers = quiz.parse(f.answer, col_name=f.quiz_id)
            u.update(answers)
            for a in answers:
                dimensions[a] = 0

        dim_cost_seconds = '%s_CostSeconds' % f.quiz_id
        dim_fill_time = '%s_FillTime' % f.quiz_id

        u[dim_cost_seconds] = f.cost_seconds
        u[dim_fill_time] = datetime.strftime(f.fill_time, '%Y/%m/%d %H:%M:%S')

        dimensions[dim_cost_seconds] = 0
        dimensions[dim_fill_time] = 0

        users[f.site_uid] = u
示例#2
0
文件: export.py 项目: CCPLab/PsyMap
def get_exp_fills(_exp_id):
    cur = dbutil.get_cur()
    cur.execute('CALL P_GetExpFills(%s,null,null)' % _exp_id)
    for r in cur:
        f = parse(r)

        quiz = QService.get_questionnaire(f.quiz_id)
        ss = quiz.score(f.answer, col_name=f.quiz_id)

        u = users.get(f.site_uid)
        if u is None:
            u = OrderedDict()
        u.update(ss)
        for s in ss:
            dimensions[s] = 0

        if f.quiz_id in quiz_with_answer:
            answers = quiz.parse(f.answer, col_name=f.quiz_id)
            u.update(answers)
            for a in answers:
                dimensions[a] = 0

        dim_cost_seconds = '%s_CostSeconds' % f.quiz_id
        dim_fill_time = '%s_FillTime' % f.quiz_id

        u[dim_cost_seconds] = f.cost_seconds
        u[dim_fill_time] = datetime.strftime(f.fill_time, '%Y/%m/%d %H:%M:%S')

        dimensions[dim_cost_seconds] = 0
        dimensions[dim_fill_time] = 0

        users[f.site_uid] = u
示例#3
0
def get_exp_fills(ExpId=7):
    cur = dbutil.get_cur()
    cur.execute('CALL P_GetExpFills(%s,null,null)' % ExpId)
    for r in cur:
        sina_uid = r['SiteUid']
        filltime = r['LastFill']
        ip = r['IPAddr']

        filltimes[sina_uid].add(filltime)
        ips[sina_uid].add(ip)

    uids = ips._dict.keys()
    for uid in uids:
        line = 'IP\t%s\t' % uid
        for ip in ips[uid]:
            line += ip + '\t'
        line += '\n'

        line += 'TIME\t%s\t' % uid
        times = sorted(filltimes[uid])
        for t in times:
            str_time = '%02d%02d_%02d%02d%02d' % (t.month, t.day, t.hour, t.minute, t.second)
            line += str_time + '\t'

        print line
示例#4
0
def get_exp_fills(ExpId=7):
    cur = dbutil.get_cur()
    cur.execute('CALL P_GetExpFills(%s,null,null)' % ExpId)
    for r in cur:
        sina_uid = r['SiteUid']
        filltime = r['LastFill']
        ip = r['IPAddr']

        filltimes[sina_uid].add(filltime)
        ips[sina_uid].add(ip)

    uids = ips._dict.keys()
    for uid in uids:
        line = 'IP\t%s\t' % uid
        for ip in ips[uid]:
            line += ip + '\t'
        line += '\n'

        line += 'TIME\t%s\t' % uid
        times = sorted(filltimes[uid])
        for t in times:
            str_time = '%02d%02d_%02d%02d%02d' % (t.month, t.day, t.hour,
                                                  t.minute, t.second)
            line += str_time + '\t'

        print line
示例#5
0
文件: meta.py 项目: LXiong/miner
def quizs_dump():
    result = OrderedDict()
    cur = dbutil.get_cur()
    cur.execute('SELECT * FROM Quiz ORDER BY QuizId')
    for r in cur:
        qid = r.pop('QuizId')
        result[qid] = r

    with codecs.open('./quiz/meta.data','w',encoding='utf-8') as fp:
        json.dump(result, fp, ensure_ascii=False, encoding='utf-8',indent=1)
示例#6
0
def quizs_dump():
    result = OrderedDict()
    cur = dbutil.get_cur()
    cur.execute('SELECT * FROM Quiz ORDER BY QuizId')
    for r in cur:
        qid = r.pop('QuizId')
        result[qid] = r

    with codecs.open('./quiz/meta.data', 'w', encoding='utf-8') as fp:
        json.dump(result, fp, ensure_ascii=False, encoding='utf-8', indent=1)
示例#7
0
文件: export.py 项目: CCPLab/PsyMap
def get_user_fill_quiz(local_uid=None, site_type=None, site_uid=None, quiz_id=None):
    assert not ((local_uid is None) and (site_type is None or site_uid is None))
    local_uid = 'NULL' if local_uid is None else long(local_uid)
    site_type = 'NULL' if site_type is None else "'%s'" % site_type
    site_uid = 'NULL' if site_uid is None else long(site_uid)
    quiz_id = 'NULL' if quiz_id is None else "'%s'" % quiz_id

    cur = dbutil.get_cur()
    cur.execute('CALL P_GetUserFillQuiz(%s,%s,%s,%s)' % (local_uid, site_type, site_uid, quiz_id))
    for r in cur:
        f = parse(r)
        return f
示例#8
0
def get_user_fill_quiz(local_uid=None,
                       site_type=None,
                       site_uid=None,
                       quiz_id=None):
    assert not ((local_uid is None) and
                (site_type is None or site_uid is None))
    local_uid = 'NULL' if local_uid is None else long(local_uid)
    site_type = 'NULL' if site_type is None else "'%s'" % site_type
    site_uid = 'NULL' if site_uid is None else long(site_uid)
    quiz_id = 'NULL' if quiz_id is None else "'%s'" % quiz_id

    cur = dbutil.get_cur()
    cur.execute('CALL P_GetUserFillQuiz(%s,%s,%s,%s)' %
                (local_uid, site_type, site_uid, quiz_id))
    for r in cur:
        f = parse(r)
        return f
示例#9
0
def get_exp_fills(ExpId):
    cur = dbutil.get_cur()
    cur.execute('CALL P_GetExpFills(%s,null,null)' % ExpId)
    for r in cur:
        sina_uid = r['SiteUid']
        quiz_id = r['QuizId']
        costseconds = r['CostSeconds']
        filltime = r['LastFill']
        answer = r['Answer']
        score = r['Score']

        quiz = meta.get_quiz(quiz_id)
        ss = quiz.score(answer, col_name=quiz_id)

        u = users.get(sina_uid)
        if u is None:
            u = OrderedDict()
        u.update(ss)
        for s in ss:
            dimensions[s] = 0

        if quiz_id in quiz_with_answer:
            answers = quiz.parse(answer, col_name=quiz_id)
            u.update(answers)
            for a in answers:
                dimensions[a] = 0

        dim_cost_seconds = '%s_CostSeconds' % quiz_id
        dim_fill_time = '%s_FillTime' % quiz_id

        u[dim_cost_seconds] = costseconds
        u[dim_fill_time] = datetime.strftime(filltime, '%Y/%m/%d %H:%M:%S')

        dimensions[dim_cost_seconds] = 0
        dimensions[dim_fill_time] = 0

        users[sina_uid] = u
示例#10
0
文件: export.py 项目: CCPLab/miner
def get_exp_fills(ExpId):
    cur = dbutil.get_cur()
    cur.execute('CALL P_GetExpFills(%s,null,null)' % ExpId)
    for r in cur:
        sina_uid = r['SiteUid']
        quiz_id = r['QuizId']
        costseconds = r['CostSeconds']
        filltime = r['LastFill']
        answer = r['Answer']
        score = r['Score']

        quiz = meta.get_quiz(quiz_id)
        ss = quiz.score(answer,col_name=quiz_id)

        u = users.get(sina_uid)
        if u is None:
            u = OrderedDict()
        u.update(ss)
        for s in ss:
            dimensions[s] = 0

        if quiz_id in quiz_with_answer:
            answers = quiz.parse(answer, col_name=quiz_id)
            u.update(answers)
            for a in answers:
                dimensions[a] = 0

        dim_cost_seconds = '%s_CostSeconds' % quiz_id
        dim_fill_time = '%s_FillTime' % quiz_id

        u[dim_cost_seconds] = costseconds
        u[dim_fill_time] = datetime.strftime(filltime,'%Y/%m/%d %H:%M:%S')

        dimensions[dim_cost_seconds] = 0
        dimensions[dim_fill_time] = 0

        users[sina_uid] = u