示例#1
0
def _dump_responses(filename):
    _log.log(filename + ' ', newLine=False)
    with open(filename, 'w') as ostream:
        users = User.objects.exclude(email__in=EXCLUDE_EMAILS)
        for user in withProgress(users):
            for response in drill_models.MultipleChoiceResponse.objects.filter(
                    user=user):
                question = response.question
                test_set = drill_models.TestSet.objects.get(questions=question)
                record = {
                        'user_id': user.id,
                        'test_id': test_set.id,
                        'timestamp': response.timestamp.ctime(),
                        'pivot': question.pivot,
                        'pivot_type': question.pivot_type,
                        'question_type': question.question_type,
                        'is_adaptive': question.question_plugin.is_adaptive,
                        'distractors': [
                                o.value for o in \
                                question.multiplechoicequestion.options.all()
                            ],
                        'correct_response': question.multiplechoicequestion.options.get(is_correct=True).value,
                        'user_response': response.option.value,
                    }
                print >> ostream, simplejson.dumps(record)
示例#2
0
def _dump_users(filename):
    _log.log(filename)
    with open(filename, "w") as ostream:
        profiles = userprofile_models.UserProfile.objects.exclude(user__email__in=EXCLUDE_EMAILS).order_by("user__id")

        for user_profile in profiles:
            if user_profile.user.response_set.count() == 0:
                continue
            record = {
                "user_id": user_profile.user.id,
                "first_language": user_profile.first_language,
                "second_languages": filter(None, [l.strip().title() for l in user_profile.second_languages.split(",")]),
                "syllabus": user_profile.syllabus.tag,
            }
            print >> ostream, simplejson.dumps(record)
示例#3
0
def update():
    _log.start('Updating %d dictionaries' % len(DICTIONARIES),
               nSteps=len(DICTIONARIES))

    for target_name, url in sorted(DICTIONARIES.items()):
        _log.log(target_name)
        gzdata = urllib2.urlopen(url).read()
        istream = gzip.GzipFile(fileobj=StringIO(gzdata), mode='r')
        uistream = codecs.getreader('euc-jp')(istream)

        with codecs.open(target_name, 'w', 'utf8') as ostream:
            for line in uistream:
                ostream.write(line)

        uistream.close()
        istream.close()

    _log.finish()
示例#4
0
def _dump_users(filename):
    _log.log(filename)
    with open(filename, 'w') as ostream:
        profiles = userprofile_models.UserProfile.objects.exclude(
                user__email__in=EXCLUDE_EMAILS).order_by('user__id')

        for user_profile in profiles:
            if user_profile.user.response_set.count() == 0:
                continue
            record = {
                        'user_id': user_profile.user.id,
                        'first_language': user_profile.first_language,
                        'second_languages': filter(None, [
                            l.strip().title() for l in \
                            user_profile.second_languages.split(',')
                        ]),
                        'syllabus': user_profile.syllabus.tag,
                    }
            print >> ostream, simplejson.dumps(record)
示例#5
0
def _dump_responses(filename):
    _log.log(filename + " ", newLine=False)
    with open(filename, "w") as ostream:
        users = User.objects.exclude(email__in=EXCLUDE_EMAILS)
        for user in withProgress(users):
            for response in drill_models.MultipleChoiceResponse.objects.filter(user=user):
                question = response.question
                test_set = drill_models.TestSet.objects.get(questions=question)
                record = {
                    "user_id": user.id,
                    "test_id": test_set.id,
                    "timestamp": response.timestamp.ctime(),
                    "pivot": question.pivot,
                    "pivot_type": question.pivot_type,
                    "question_type": question.question_type,
                    "is_adaptive": question.question_plugin.is_adaptive,
                    "distractors": [o.value for o in question.multiplechoicequestion.options.all()],
                    "correct_response": question.multiplechoicequestion.options.get(is_correct=True).value,
                    "user_response": response.option.value,
                }
                print >> ostream, simplejson.dumps(record)