def handle(self, *args, **options): count = options['n'] # for answer in Answer.objects.all(): # answer.delete() # for question in Question.objects.all(): # question.delete() for q in Question.objects.all(): q.delete() for r in Rates.objects.all(): r.delete() for i in range(0, count): number = randint(0, len(titles) - 1) question = Question() question.title = titles[number] number = randint(0, len(titles) - 1) question.text = titles[number] User = get_user_model() number = randint(0, User.objects.count() - 1) question.author = User.objects.all()[number] d1 = datetime.strptime('1/1/2014 1:30 PM', '%m/%d/%Y %I:%M %p') d2 = datetime.strptime('1/1/2015 4:50 AM', '%m/%d/%Y %I:%M %p') question.data = random_date(d1, d2) rate = Rates() number = randint(0, User.objects.count()) rate.count = number rate.save() for i in range(number): rate.users.add(User.objects.all()[i]) question.rate = rate number = randint(0, len(tags) - 1) question.save() for i in range(number): question.addTag(tags[i]) for j in range(0, randint(0, 10)): answer = Answer() number = randint(0, len(answers) - 1) answer.text = answers[number] d1 = datetime.strptime('1/1/2014 1:30 PM', '%m/%d/%Y %I:%M %p') d2 = datetime.strptime('1/1/2015 4:50 AM', '%m/%d/%Y %I:%M %p') answer.data = random_date(d1, d2) rate = Rates() rate.count = number rate.save() number = randint(0, User.objects.count()) for i in range(number): rate.users.add(User.objects.all()[i]) answer.rate = rate number = randint(0, len(titles) - 1) answer.title = titles[number] number = randint(0, User.objects.count() - 1) answer.author = User.objects.all()[number] answer.question = question answer.save()
def handle(self, *args, **options): count = options['n'] # for answer in Answer.objects.all(): # answer.delete() # for question in Question.objects.all(): # question.delete() for q in Question.objects.all(): q.delete() for r in Rates.objects.all(): r.delete() for i in range(0, count): number = randint(0,len(titles)-1) question = Question() question.title = titles[ number ] number = randint(0,len(titles)-1) question.text = titles[ number ] User = get_user_model() number = randint(0,User.objects.count()-1) question.author = User.objects.all()[number] d1 = datetime.strptime('1/1/2014 1:30 PM', '%m/%d/%Y %I:%M %p') d2 = datetime.strptime('1/1/2015 4:50 AM', '%m/%d/%Y %I:%M %p') question.data = random_date(d1, d2) rate = Rates() number = randint(0,User.objects.count()) rate.count = number rate.save() for i in range(number): rate.users.add(User.objects.all()[i]) question.rate = rate number = randint(0,len(tags)-1) question.save() for i in range(number): question.addTag(tags[i]) for j in range(0,randint(0,10)): answer = Answer() number = randint(0,len(answers)-1) answer.text = answers[number] d1 = datetime.strptime('1/1/2014 1:30 PM', '%m/%d/%Y %I:%M %p') d2 = datetime.strptime('1/1/2015 4:50 AM', '%m/%d/%Y %I:%M %p') answer.data = random_date(d1, d2) rate = Rates() rate.count = number rate.save() number = randint(0,User.objects.count()) for i in range(number): rate.users.add(User.objects.all()[i]) answer.rate = rate number = randint(0,len(titles)-1) answer.title = titles[ number ] number = randint(0,User.objects.count()-1) answer.author = User.objects.all()[number] answer.question = question answer.save()
from question.models import Answer, Question, AnswerType def read(qno, filename): path = os.path.join(str(qno), filename) with open(path, 'r') as fl: data = fl.read() return data print('Adding questions') questions = ''.join(map(str, range(1, 100))) for ques in questions: q = Question() q.qno = int(ques) try: q.title = read(ques, 'title') q.text = read(ques, 'text') if (ques == '1') or (ques == '2'): q.practice = True q.save() except: print('Could not add Q-', ques) else: try: ans = Answer() ans.question = q ans.infile = File(open(ques + '/inp', 'r')) ans.outfile = File(open(ques + '/out', 'r')) ans.sample_code = File(open(ques + '/sample', 'r')) ans.answer_type = AnswerType.objects.first() ans.save()
def handle(self, *args, **options): if options["flush"]: call_command("flush", "--noinput") fake = Faker("hu_HU") users = [] if not User.objects.filter(username="******").exists(): admin = User() admin.username = "******" admin.is_superuser = True admin.is_staff = True admin.first_name = "Admin" admin.last_name = "Adminsson" admin.set_password("admin") admin.save() Profile.objects.create(user=User.objects.get(username="******")) users.append("admin") if not User.objects.filter(username="******").exists(): User.objects.create(username="******", is_staff=True, first_name="Mod", last_name="Mod") Profile.objects.create(user=User.objects.get(username="******")) users.append("mod") if not User.objects.filter(username="******").exists(): User.objects.create(username="******", first_name="User", last_name="User") Profile.objects.create(user=User.objects.get(username="******")) users.append("user") # Accounts for i in range(random.choice(range(3, 9))): # Users fakedata = fake.simple_profile() u = User() u.username = fakedata["username"] name = fakedata["name"].split(" ") u.first_name = name[0] u.last_name = name[1] u.save() # Profiles Profile.objects.create(user=u) users.append(u.username) # Tags tag_choices = [] for t in range(random.choice(range(5, 11))): tag_choices.append(fake.word()) # Questions for i in range(random.choice(range(3, 11))): ov_q = self.generate_owner_votes(users) q = Question() q.title = fake.text(max_nb_chars=50) q.text = fake.paragraph(nb_sentences=4) q.owner = Profile.objects.get(user__username=ov_q["owner"]) q.show_username = bool(random.getrandbits(1)) q.votes = ov_q["votes"] q.created_at = datetime.datetime.now() q.save() for t in random.sample(tag_choices, random.randint(0, len(tag_choices))): q.tags.add(t) # Comments for j in range(random.choice(range(0, 4))): ov_cq = self.generate_owner_votes(users) Comment.objects.create( parent_question=q, text=fake.paragraph(nb_sentences=4), owner=Profile.objects.get(user__username=ov_cq["owner"]), show_username=bool(random.getrandbits(1)), votes=ov_cq["votes"], ) # Answers accepted_answer = -1 answer_count = random.choice(range(0, 6)) has_accepted = bool(random.getrandbits(1)) if has_accepted and answer_count > 0: accepted_answer = random.choice(range(answer_count)) for k in range(answer_count): ov_a = self.generate_owner_votes(users) a = Answer() a.text = fake.paragraph(nb_sentences=4) a.owner = Profile.objects.get(user__username=ov_a["owner"]) a.show_username = bool(random.getrandbits(1)) if k == accepted_answer: a.is_accepted = True else: a.is_accepted = False a.votes = ov_a["votes"] a.parent = q a.save() # Comments to answers for l in range(random.choice(range(0, 4))): ov_ca = self.generate_owner_votes(users) Comment.objects.create( parent_answer=a, text=fake.paragraph(nb_sentences=4), owner=Profile.objects.get( user__username=ov_ca["owner"]), show_username=bool(random.getrandbits(1)), votes=ov_ca["votes"], )
def read(qno, filename): path = os.path.join(str(qno), filename) with open(path, 'r') as fl: data = fl.read() return data print('Adding questions') questions = ''.join(map(str, range(1, 100))) for ques in questions: q = Question() q.qno = int(ques) try: q.title = read(ques, 'title') q.text = read(ques, 'text') if (ques == '1') or (ques == '2'): q.practice = True q.save() except: print('Could not add Q-', ques) else: try: ans = Answer() ans.question = q ans.infile = File(open(ques + '/inp', 'r')) ans.outfile = File(open(ques + '/out', 'r')) ans.sample_code = File(open(ques + '/sample', 'r')) ans.answer_type = AnswerType.objects.first() ans.save()