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)
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)
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()
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)
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)