def random_notes(n=1000,consenting=True,english_only=True,user_filter=is_sigscroll_user): from jv3.study.content_analysis import _actlogs_to_values,_notes_to_values,_note_instance_to_value if consenting: users = [ u for u in non_stop_consenting_users() if user_filter(u) ] else: users = [ u for u in non_stop_users() if user_filter(u) ] notes = filter_notes(Note.objects.filter(owner__in=users)) random.shuffle(notes) notes = notes[:n] print "returning %d notes " % len(notes) values = [_note_instance_to_value(v) for v in notes] random.shuffle(values) return values
def random_notes(n=1000, consenting=True, english_only=True, user_filter=is_sigscroll_user): from jv3.study.content_analysis import _actlogs_to_values, _notes_to_values, _note_instance_to_value if consenting: users = [u for u in non_stop_consenting_users() if user_filter(u)] else: users = [u for u in non_stop_users() if user_filter(u)] notes = filter_notes(Note.objects.filter(owner__in=users)) random.shuffle(notes) notes = notes[:n] print "returning %d notes " % len(notes) values = [_note_instance_to_value(v) for v in notes] random.shuffle(values) return values
def random_notes_slow(n=1000, consenting=True): """ returns random subset of notes """ if consenting: users = non_stop_consenting_users() else: users = non_stop_users() results = [] keys = [] notes = Note.objects.filter(owner__in=users) i = 0 while len(results) < n and i < n + 10000: note = notes[random.randint(0, notes.count() - 1)] if note.id not in keys: keys.append(note.id) results.append(note) i = i + 1 print "%d " % len(results) return results