コード例 #1
0
    def handle(self, *args, **options):
        fake = Factory.create()

        number = int(options['number'])

        users = Profile.objects.all()

        starts = (
                u'Help! Nothing happens!',
                u'I tried all, help',
                u'I do not find any solutions on the Internet, save',
                u'Following problem:',
                u'I think that someone of you faced with the question',
                u'Sorry, but I am a novice in this matters',
                u'Hi! Dates burn, need advice',
                )

        for i in range(0, number):
            q = Question()

            q.title = fake.sentence(nb_words=randint(4, 6), variable_nb_words=True)[:40]
            q.text = u"%s %s %s" % (
                    choice(starts),
                    os.linesep,
                    fake.paragraph(nb_sentences=randint(4, 17), variable_nb_sentences=True),
                    )
            q.owner = choice(users)
            q.save()
            tag_cnt = randint(1,5)
            for i in range(0, tag_cnt):
                tq = Tag.objects.filter(id=randint(1, tag_cnt))[0]
                q.tags.add(tq)
            self.stdout.write('added question [%d]' % (q.id))
コード例 #2
0
ファイル: test_event.py プロジェクト: viert/knowledgehub
    def test_mention_event(self):
        user = User({"username": "******", "ext_id": "test"})
        user.save()
        other_user = User({"username": "******", "ext_id": "other"})
        other_user.save()

        p = Question({
            "title": "test title",
            "body": "test body, @test is mentioned",
            "tags": ["test-tag"],
            "author_id": user._id
        })
        p.save()
        self.run_tasks()
        events = user.get_new_events()
        self.assertEqual(events.count(), 0)

        a = p.create_answer({
            "author_id": other_user._id,
            "body": "this @test mention should create an event"
        })
        a.save()
        self.run_tasks()

        events = user.get_new_events()
        self.assertEqual(events.count(), 2)  # new comment event and mention event

        found_mention_event = False
        for event in events:
            if isinstance(event, MentionEvent):
                found_mention_event = True
                self.assertEqual(event.author_id, other_user._id)
                self.assertEqual(event.post_id, a._id)
        self.assertTrue(found_mention_event)
コード例 #3
0
ファイル: fill.py プロジェクト: sng1996/DjangoProject
	def handle(self, *args, **options):
		user = User.objects.get(email='*****@*****.**')
		list_tags = ["Perl", "Python", "TechnoPark", "MySQL", "Django", "Mailru", "Voloshin", "Firefox", "black-jack", "bender"]
		Question.objects.all().delete()
		Answer.objects.all().delete()
		Tag.objects.all().delete()
		for i in range(0, 100):
			q=Question(
				author=user,
				body='body ' + str(i),
				title = 'title ' + str(i),
			)
			q.save()
			for j in range(1, 3):
				a=Answer(
					text='answer ' + str(i) + ' ' + str(j),
					author=user,
					question=q,
				)
				a.save()
			tmp = i%10
			t=Tag(
				name = list_tags[tmp],
				rating = tmp,
			)
			t.save()
			t.question.add(q)
コード例 #4
0
def create():
    user: User = get_user_from_app_context()
    attrs = request.json
    attrs["author_id"] = user._id
    q = Question(attrs)
    q.save()
    return json_response({"data": q.api_dict(fields=QUESTION_FIELDS)})
コード例 #5
0
    def handle(self, *args, **options):
        fake = Factory.create()

        number = int(options['number'])

        users = User.objects.all()[1:]

        starts = ('How do I Sort a Multidimensional', 'What is Vlad?',
                  'SQL Server')

        for i in range(0, number):
            q = Question()

            q.title = fake.sentence(nb_words=randint(2, 4),
                                    variable_nb_words=True)
            q.text = u"%s %s %s" % (
                choice(starts),
                os.linesep,
                fake.paragraph(nb_sentences=randint(1, 4),
                               variable_nb_sentences=True),
            )
            q.user = choice(users)
            q.rating = randint(0, 1500)
            q.is_published = True
            q.id = i
            q.save()
            self.stdout.write('add question [%d]' % (q.id))
コード例 #6
0
    def fill_db(self):
        for i in range(0, 30):
            usr = User(username='******' + str(i),
                       password='******' + str(i),
                       first_name='User')
            usr.save()
            prof = Profile(avatar='avatar.jpeg', user=usr)
            prof.save()
            try:
                tbag = Tag.objects.get(name='Bucket' + str(i % 20))
                tbag.popularity += 1
            except Exception:
                tbag = Tag(name='Bucket' + str(i % 20), popularity=1)
            tbag.save()

            quest = Question(title=str(i) + 'bucket',
                             text='see my bucket, I have a' + str(10000 - i) +
                             ' bucket remains',
                             author=prof,
                             votes=i)
            quest.save()
            quest.liked.add(prof)
            quest.tag.add(tbag)

            for j in range(0, 20):
                ans = Answer(text='Test answer' + str(i),
                             author=prof,
                             question=quest)
                ans.votes = int(((i + j) * 6) % 40)
                ans.save()
                ans.voted.add(prof)
コード例 #7
0
def generate_questions(n):
    arr = open('/home/hase/technopark/web/AskZaytsev/scripts/text.txt',
               'r').read().split(' ')
    asize = len(arr)
    print(asize)
    tag_table_cnt = Tag.objects.count()
    print(tag_table_cnt)
    qcount = Profile.objects.count()
    for i in range(0, n):
        print(i)
        word_cnt = random.randint(20, 50)
        text = ''
        title = arr[random.randint(0, asize - 1)] + ' ' + str(i)
        own = Profile.objects.filter(id=random.randint(1, qcount))[0]
        for j in range(0, word_cnt):
            text += arr[random.randint(0, (asize - 1))] + ' '

        q = Question(owner=own, title=title, text=text)
        q.save()
        tag_cnt = random.randint(1, 5)
        print(tag_cnt)
        for j in range(0, tag_cnt):
            print(j)
            tq = Tag.objects.filter(id=random.randint(1, tag_table_cnt))[0]
            print(tq.title)
            q.tags.add(tq)
    print('que')
コード例 #8
0
    def handle(self, *args, **options):
		u = User.objects.get(id=1)
		q = Question(title = u'Проверка',
					 text = u'Проверка работоспособности',
					 author = u,
					 rating = 79
					 )
		q.save()
コード例 #9
0
def post_query(request):
    if request.method == "POST":
        query = Question()
        query.question = request.POST.get('question-area')
        query.asked_by = Profile.objects.get(user = request.user)
        query.save()
        messages.success(request,"Your Question was posted!")
    return redirect("askCommunity:home")
コード例 #10
0
 def handle(self, *args, **options):
     for i in range(1000):
         question = Question(title=self.text_gen(),
                             full_question=self.text_gen(40) + "?",
                             author=User.objects.get(id=1).userprofile)
         question.save()
         self.stdout.write(
             self.style.SUCCESS('Successfully created question ' +
                                question.title + ' with text ' +
                                question.full_question))
コード例 #11
0
ファイル: fake_qst.py プロジェクト: tohasvs/Sky-Ask-Site
	def handle(self, *args, **options):
		n = int(args[0])
		for i in range(1, n):
			title = self.fake.text(random.randint(10, 40))
			content = self.fake.text(random.randint(500, 1500))
			topic = Topic.objects.get(id = int(random.randint(1, Topic.objects.count())))
			user = User.objects.get(id = int(random.randint(1, User.objects.count())))
			date = self.fake.rdate()
			q = Question(title = title, content = content, topic = topic, user = user, date = date)
			q.save()
コード例 #12
0
 def _fill_question(self):
     print('FILLING QUESTION MODEL...')
     for ix in range(500):
         temp_question = Question(title='Question{}'.format(ix + 1),
                                  text='QuestionText{}'.format(ix + 1),
                                  author=np.random.choice(
                                      User.objects.all()),
                                  rating=np.random.normal(scale=50),
                                  creation_date=timezone.now(),
                                  edit_date=timezone.now())
         temp_question.save()
     print('ADDED {} QUESTIONS'.format(Question.objects.count()))
コード例 #13
0
 def handle(self, *args, **options):
     for i in range(10):
         question = Question(
             title=self.text_gen(),
             text=self.text_gen(20) + " " + self.text_gen(20) + " " +
             self.text_gen(20) + "?",
             author=User.objects.get(id=random.randint(1, 10)))
         question.save()
         self.stdout.write(
             self.style.SUCCESS('Successfully created question ' +
                                question.title + ' with text ' +
                                question.text))
コード例 #14
0
    def handle(self, *args, **options):
        createdQuestions = 0
        createdRelations_q_t = 0
        (amount,) = args
        count = int(amount)
        countOfUsers = User.objects.count()
        countOfTags = Tag.objects.count()
        if count < 1:
            raise ValueError('incorrect parameter')
        if countOfUsers < 2:
            raise ValueError('table of users is empty. You must add users!')
        if countOfTags < 1:
            raise ValueError('table of tags is empty. You must add tags!')

        firstUser = User.objects.first().id
        lastUser = User.objects.last().id

        #generate questions
        for i in range(count):
            while True:
                try:
                    u = User.objects.get(id=random.randint(firstUser + 1, lastUser)) #without admin user
                    # print('user was founded : ' + str(u.id))
                    break
                except ObjectDoesNotExist:
                    continue

            title = randomText(random.randint(1, 4)) + '?'
            text = randomText(random.randint(5, 30)) + '?'
            q = Question(title=title, text=text, user=u, rating=0)
            firstTagID = Tag.objects.first().id
            lastTagID = Tag.objects.last().id
            amountTags = random.randint(1,5)
            q.save()
            for i in range(amountTags):
                while True:
                     try:
                         t = Tag.objects.get(id=random.randint(firstTagID, lastTagID))
                         #print('question was founded : ' + str(q.id))
                         break
                     except ObjectDoesNotExist:
                         #print('!!!!!!!!!!!!!!!!!!!!!!!!!!!!incorrect question was generated')
                         continue
                q.tags.add(t)
                createdRelations_q_t+=1
                q.save()
            createdQuestions+=1
            print('was created : ' + str(createdQuestions) + ' questions')
        print('==============================================')
        print('was created : ' + str(createdQuestions) + ' questions')
        print('was created : ' + str(createdRelations_q_t) + ' relations question_tag')
コード例 #15
0
ファイル: questions.py プロジェクト: grigorevpv/TP_web
    def handle(self, *args, **options):
        fake = Factory.create()

        number = int(options['number'])

        users = User.objects.all()[1:]
        for i in range(0, number):
            q = Question()

            q.title = fake.sentence(nb_words=randint(2, 4),
                                    variable_nb_words=True)
            q.text = fake.paragraph(nb_sentences=randint(4, 17),
                                    variable_nb_sentences=True)
            q.auth = choice(users)
            q.save()
コード例 #16
0
ファイル: views.py プロジェクト: ermishechkin/django_ask
def ask(request):
    if request.method == 'POST':
        form = QuestionForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            q = Question(title=data['title'],
                         text=data['content'],
                         author=request.profile,
                         published=datetime.now())
            q.save()
            q.tags.add(
                *[Tag.objects.get_or_create(name=t)[0] for t in data['tags']])
            return redirect(reverse('question', kwargs={'id': q.id}))
    else:
        form = QuestionForm()
    return render(request, 'ask.html', {'form': form})
コード例 #17
0
    def handle(self, *args, **options):
        try:
            user = Profile.objects.get(user_id=options['author_id'])
        except Profile.DoesNotExist:
            raise CommandError("User %s doesn't exist" % options['author_id'])

        title = options['title']
        text = options['text']

        question = Question(title=title, text=text, author=user)
        question.save()

        for tag in options['tags'].split():
            try:
                question.tags.add(Tag.objects.get(name=tag))
            except Tag.DoesNotExist:
                raise CommandError('Tag "%s" does not exist' % tag)
        question.save()
コード例 #18
0
ファイル: fillDB.py プロジェクト: YIShikunov/tp-web
def generateQuestions(n):
    questionStarts = ["Who", "How", "Why", "When", "Please"]
    questionAction = ["can", "should", "to", "may", "do"]
    questionActor = [
        "I", "my mom", "django", "python", "diablo", "god", "protoss",
        "terran", "zerg"
    ]
    questionStuff = [
        "kill", "compile", "clear", "solve", "install", "banish", "love",
        "hug", "complete", "do", "make", "enjoy", "start", "delete"
    ]
    questionActee = [
        "zerg infestation", "django", "c++ code", "a barell roll", "my mom",
        "my friend", "server", "president", "iPhone", "iPad", "windows",
        "file in linux", "legolas", "world domination", "illuminati", "forum",
        "summit", "eSports", "DOTA2", "idiotism", "protoss arrogance"
    ]
    questionEnd = [
        "?", "don't tell my mom!!1?", "111", "!!!", "!", "??", "???", "!!",
        "??!!?", ""
    ]
    questionText = [
        "I really need help", "HELP ME PLEASE", "It's gonna eat me",
        "I can't live without this", "I am heartbroken"
    ]
    questionTextEnd = [
        "i wanna help ASAP!", "tell me or i'm calling cops!",
        "i hope someone will answer me.", "Anyone?"
    ]
    tags = Tag
    for i in range(n):
        title = random.choice(questionStarts)+" "+random.choice(questionAction)+" "+random.choice(questionActor)+\
        " "+random.choice(questionStuff)+" "+random.choice(questionActee)+" "+random.choice(questionEnd)
        text = random.choice(questionText) + " " + random.choice(
            questionTextEnd)
        author = UserAccount.objects.all().order_by('?')[0]
        q = Question(name=title, content=text, author=author)
        q.save()
        j = random.randint(1, 10)
        for t in Tag.objects.all().order_by('?')[:j]:
            q.tags.add(t)
        q.save()
        if i % 50 == 0:
            print i
コード例 #19
0
def question_ask(request):
    question_form = QuestionForm(request.POST)
    if question_form.is_valid():

        title = question_form.cleaned_data["title"]
        contents = question_form.cleaned_data["contents"]

        question = Question(title=title, contents=contents, author=request.user, date_created=timezone.now())
        question.save()

        return HttpResponse('{"question_id": ' + str(question.id) + '}')
    else:
        error = ""

        for field in question_form:
            if field.errors:
                error += field.label_tag + ": " + field.errors + "<br>"

        return HttpResponse('{"error": "' + error + '"}')
コード例 #20
0
    def save(self, owner):
        data = self.cleaned_data
        title = data.get('title')
        text = data.get('text')
        tags_list = data.get('tags')
        if tags_list:
            tags_list = [tag.replace(' ', '') for tag in tags_list]
            tags_list = [tag.replace('-', '_') for tag in tags_list]

        q = Question()
        q.title = title
        q.text = text
        q.owner = Profile.objects.get(user_id=owner.id)
        q.save()

        for tag in tags_list:
            tag_obj = Tag.objects.get_or_create(tag)
            q.tags.add(tag_obj)

        return q
コード例 #21
0
def newquestion(request):
    if (request.method == "POST"):
        form = NewQuestionForm(request.POST)
        if (form.is_valid):
            if (Question.objects.filter(
                    header=request.POST["header"]).count() == 0):
                uscontent = request.POST["content"]
                usheader = request.POST["header"]
                ususer = User.objects.get(username=request.user.username)
                quest = Question(header=usheader,
                                 content=uscontent,
                                 author=ususer)
                quest.save()
                if ((request.POST.has_key("tag1")) and
                    (Tag.objects.filter(name=request.POST["tag1"]).count() !=
                     0)):
                    tag = Tag.objects.get(name=request.POST["tag1"])
                    quest.tag.add(tag)
                return redirect('/user/')
                if ((request.POST.has_key("tag2")) and
                    (Tag.objects.filter(name=request.POST["tag2"]).count() !=
                     0)):
                    tag = Tag.objects.get(name=request.POST["tag2"])
                    quest.tag.add(tag)
                return redirect('/user/')
                if ((request.POST.has_key("tag3")) and
                    (Tag.objects.filter(name=request.POST["tag3"]).count() !=
                     0)):
                    tag = Tag.objects.get(name=request.POST["tag3"])
                    quest.tag.add(tag)
                return redirect('/user/')
            else:
                newDict = defaultDict
                newDict["status"] = "alreadyEx"
                newDict["curUser"] = request.user
                return render(request, "newquestion.html", newDict)
    else:
        newDict = defaultDict
        newDict["status"] = "newPage"
        newDict["curUser"] = request.user
        return render(request, "newquestion.html", newDict)
コード例 #22
0
    def create_questions(self):
        q1 = Question({
            "title": "question1",
            "body": "is this the real life?",
            "author_id": self.user1._id,
            "tags": ["queen"]
        })
        q1.save()
        q2 = Question({
            "title": "question2",
            "body": "is this just fantasy?",
            "author_id": self.user1._id,
            "tags": ["queen"]
        })
        q2.save()

        q3 = Question({
            "title": "question3",
            "body": "Scaramouch, scaramouch will you do the fandango?",
            "author_id": self.user2._id,
            "tags": ["queen"]
        })
        q3.save()
        self.run_tasks()

        return q1, q2, q3
コード例 #23
0
ファイル: test_event.py プロジェクト: viert/knowledgehub
    def test_question_new_answer_event(self):
        user = User({"username": "******", "ext_id": "test"})
        user.save()
        other_user = User({"username": "******", "ext_id": "other"})
        other_user.save()

        p = Question({
            "title": "test title",
            "body": "test body, needs to be long",
            "tags": ["test-tag", "test-tag2"],
            "author_id": user._id
        })
        p.save()
        self.run_tasks()
        Event.destroy_all()

        a = p.create_answer({
            "body": "this is a self-answer, should not generate events",
            "author_id": user._id
        })
        a.save()
        self.run_tasks()

        events = user.get_new_events()
        self.assertEqual(events.count(), 0)

        a = p.create_answer({
            "body": "this is an answer by somebody else",
            "author_id": other_user._id
        })
        a.save()
        self.run_tasks()

        events = user.get_new_events()
        self.assertEqual(events.count(), 1)

        event: QuestionNewAnswerEvent = events[0]
        self.assertEqual(event.question_id, p._id)
        self.assertEqual(event.answer_id, a._id)
        self.assertEqual(event.author_id, other_user._id)
コード例 #24
0
ファイル: test_event.py プロジェクト: viert/knowledgehub
    def test_post_comment_event(self):
        user = User({"username": "******", "ext_id": "test"})
        user.save()
        other_user = User({"username": "******", "ext_id": "other"})
        other_user.save()

        p = Question({
            "title": "test title",
            "body": "test body, needs to be long",
            "tags": ["test-tag", "test-tag2"],
            "author_id": user._id
        })
        p.save()
        self.run_tasks()
        Event.destroy_all()

        c = p.create_comment({
            "body": "this is a self-comment, should not generate events",
            "author_id": user._id
        })
        c.save()
        self.run_tasks()

        events = user.get_new_events()
        self.assertEqual(events.count(), 0)

        c = p.create_comment({
            "body": "this is a real comment, should generate an event",
            "author_id": other_user._id
        })
        c.save()
        self.run_tasks()

        events = user.get_new_events()
        self.assertEqual(events.count(), 1)

        event: PostNewCommentEvent = events[0]
        self.assertEqual(event.post_id, p._id)
        self.assertEqual(event.comment_id, c._id)
        self.assertEqual(event.author_id, other_user._id)
コード例 #25
0
ファイル: views.py プロジェクト: ArturAmbartsumov/TP_web
def newquestion(request):
    if request.user.is_authenticated():
        u = request.user
        user = u.customuser
        question_form = QuestionForm(request.POST)  # A form bound to the POST data
        if question_form.is_valid():  # All validation rules pass
            question = Question(
                title=question_form.cleaned_data["title"],
                question_text=question_form.cleaned_data["question_text"],
                customuser=user,
                pub_data=timezone.now(),
            )
            question.save()
            request.session["message"] = "Your answer was successfully added!!"
            request.session["flag"] = 1
        else:
            request.session["message"] = "Error!!"
            request.session["flag"] = 1
    else:
        request.session["message"] = "You must be logged in"
        request.session["flag"] = 0
    return HttpResponseRedirect(reverse("questions"))  # Redirect after POST
コード例 #26
0
ファイル: views.py プロジェクト: tohasvs/Sky-Ask-Site
def addask(req):
	if req.method == "POST":
		if "title" in req.POST and "topic" in req.POST and "content" in req.POST:
			if "name" in req.session:
				title = req.POST["title"]
				topic_id = int(req.POST["topic"])
				content = req.POST["content"]
				try:
					u = User.objects.get(id=int(req.session["name"]))
					u.raiting = u.raiting + 1
					topic = Topic.objects.get(id = topic_id)
					u.save()
				except (Topic.DoesNotExist, User.DoesNotExist):
					return HttpResponse("Error")
				af = AskForm({"title" : title, "content" : content, "topic": topic_id})
				if af.is_valid():
					q = Question(title = title, topic = topic, content = content, user = u, date = datetime.datetime.now(), raiting = 0)
					q.save()
					return HttpResponseRedirect("../../qstadd/?qst_id={0}".format(q.id))
				else:
					return HttpResponse("Error Valid")
	return HttpResponse("")
コード例 #27
0
ファイル: views.py プロジェクト: OlegElizarov/TPark_WEB
def ask(request):
    form = questionform()
    if request.method == "POST":
        form = questionform(request.POST)
        if form.is_valid():
            q = Question(title=form.cleaned_data['title'],
                         text=form.cleaned_data['text'],
                         author=get_object_or_404(Author, user=request.user),
                         pub_date=timezone.now(),
                         rating=0)
            q.save()
            for tg in form.cleaned_data['tag']:
                Tag.objects.get_or_create(name=tg)
                q.tags.add(Tag.objects.get(name=tg))
                qid = q.id
            return HttpResponseRedirect(
                reverse('ask:question', kwargs={'question_id': qid}))
    return render(
        request, 'ask/question_create.html', {
            'form': form,
            'users': Author.objects.all(),
            'tags': Tag.objects.besters(),
        })
コード例 #28
0
ファイル: views.py プロジェクト: kalter704/Web_technology
def ask(request):
	form = NewQuestion()
	
	if request.POST:
		title = request.POST.get('title')
		text = request.POST.get('text')
		tags = request.POST.get('tags')

		form.fields['title'].initial = title
		form.fields['text'].initial = text
		form.fields['tags'].initial = tags
		
		is_empty_fields = False
		if isEmptyQuestionFields(title, text, tags):
			is_empty_fields = True
		
		if is_empty_fields:
			context = {
				'is_empty_fields': is_empty_fields,
				'form': form			
			}
			return render(request, 'ask.html', context)
		else:
			#tags.encode('utf-8')
			#connectTags(q, tags)
			#t = Tag(text = tags)
			#t.save()
			q = Question(title = title, text = text, author = request.user, rating = 0)
			q.save()
			connectTags(q, tags)
			#q.tags.add(t)
			q.save()
			id_question = q.id
			#return render(request, 'answer.html/' + str(id_question) + '/')
			#return HttpResponseRedirect('/answer/' + str(id_question) + '/')
			return redirect('/answer/' + str(id_question) + '/')
	return render(request, 'ask.html', {'form': form})
コード例 #29
0
ファイル: test_event.py プロジェクト: viert/knowledgehub
    def test_tag_new_post_event(self):
        u = User({"username": "******", "ext_id": "test"})
        u.save()
        u.subscribe_to_tag("test-tag")
        u.subscribe_to_tag("test-tag2")
        u.subscribe_to_tag("test-tag3")

        p = Question({
            "title": "test title",
            "body": "test body, needs to be long",
            "tags": ["test-tag", "test-tag2"],
            "author_id": u._id
        })
        p.save()
        self.run_tasks()

        events = u.get_new_events()
        self.assertEqual(events.count(), 0)

        other_user = User({"username": "******", "ext_id": "other"})
        other_user.save()

        p = Question({
            "title": "test title",
            "body": "test body, needs to be long",
            "tags": ["test-tag", "test-tag2"],
            "author_id": other_user._id
        })
        p.save()
        self.run_tasks()
        events = u.get_new_events()
        self.assertEqual(events.count(), 1)
        event: TagNewQuestionEvent = events[0]

        # only subscribed tags are listed in event
        self.assertCountEqual(event.tags, ["test-tag", "test-tag2"])
        self.assertEqual(event.question_id, p._id)
コード例 #30
0
	def AskUser(self,request):
		user = request.user
		if form.is_valid():
			theme = form.cleaned_data.get('theme')
			quest = form.cleaned_data.get('question')
			c = CustomUser.objects.get(user = user)
			
			q = Question(user=c,title=theme,text=quest)
			q.save()
			tags = form.cleaned_data.get('tags').split(',')
			for tag in tags:
				if ' ' in tag:
					tag = tag.replace(' ', '_')
				try:
					t = Tag.objects.get(name=tag)
				except Tag.DoesNotExist:
					t = Tag.objects.create(name=tag)
					t.save()

				q.tags.add(t)
			redirect_to= '/question/'+str(q.id)+'/'
			return True
		else:
			return False
コード例 #31
0
ファイル: fill.py プロジェクト: burmistrovm/dbserver
 def handle(self, *args, **options):
     User.objects.all().delete()
     user = User.objects.create_user("nuf", "*****@*****.**", "nuf")
     user.save()
     tagmas = [
         'ActionScript', 'Ada', 'Bash', '(Visual) Basic', 'Bourne Shell',
         'Bro', 'C', 'C Shell', 'C#', 'C++', 'Curl', 'Fortran', 'Go',
         'Haskell', 'Java', 'JavaScript', 'Lisp', 'Maple', 'Mathematica',
         'MATLAB', 'MOO', 'Objective-C', 'Pascal', 'Perl', 'PHP', 'Python',
         'Ruby', 'Simulink', 'Verilog', 'VHDL'
     ]
     Question.objects.all().delete()
     Tags.objects.all().delete()
     for i in range(1, 10):
         q = Question(
             author=user,
             text=
             'In eget neque in turpis suscipit tristique vitae nec mauris. Vestibulum auctor, turpis non lobortis gravida, nisi est vulputate lectus, ut dictum erat augue ut erat.',
             title='title' + str(i),
             question_id=i,
         )
         q.save()
         t1 = Tags(name=tagmas[(i - 1) * 2])
         t2 = Tags(name=tagmas[(i - 1) * 2 + 1])
         t1.save()
         t2.save()
         t1.question.add(q)
         t2.question.add(q)
         for j in range(1, 10):
             a = Answer(
                 text=
                 'In eget neque in turpis suscipit tristique vitae nec mauris. Vestibulum auctor, turpis non lobortis gravida, nisi est vulputate lectus, ut dictum erat augue ut erat. In fringilla tincidunt dolor, at pulvinar lacus cursus nec. Pellentesque ultrices eget odio ac ullamcorper. Duis turpis orci, tempor vel massa id, posuere condimentum purus. Sed rutrum magna non nisi posuere interdum. Vivamus eget diam dictum mi malesuada accumsan.',
                 author=user,
                 question=q,
             )
             a.save()
コード例 #32
0
ファイル: views.py プロジェクト: minaevmike/asktp
def ask(request):
	errors = []
	if not request.user.is_authenticated():
		errors.append("you need to login !!")
		return erquestion(request, errors)
	else:
		if request.method == 'POST':
			form = AskForm(request.POST)
			if form.is_valid():
				cd = form.cleaned_data
				u = request.user
				he = cd['header']
				b = cd['body']
				q = Question(header = he, body = b, user = u, ask_date = timezone.now(), rating = 0)
				q.save()
				send_email('Nice, your question was published, %s' % (u.username), '%s \n %s' %(he, b), [u.email])
				u = User.objects.all().order_by('-date_joined')[:10]
				return HttpResponseRedirect("/")
			else:
				errors.append("All feilds in ask form are required")
				return erquestion(request, errors)
	latest_question = Question.objects.all().order_by('-ask_date')[:20]
	ask_form = AskForm()
	return render(request, 'ask/question.html', { 'errors':errors , 'latest_question':latest_question , 'AskForm':ask_form, 'last_users':u })
コード例 #33
0
ファイル: views.py プロジェクト: ArturAmbartsumov/TP_web
def add_question(request):
    u = get_object_or_404(User, pk=12)
    for i in range(5000, 10000):
        question = Question(title=int(i), question_text="Question", customuser=u.customuser, pub_data=timezone.now())
        question.save()
    return HttpResponseRedirect(reverse("questions"))
コード例 #34
0
    def handle(self, *args, **options):
        #        User.objects.all().delete()
        #        Tag.objects.all().delete()
        #        Profile.objects.all().delete()
        #        Question.objects.all().delete()
        #        Answer.objects.all().delete()
        #        Like.objects.all().delete()

        try:
            u = User.objects.get(username='******')
        except:
            u = User.objects.create(username='******',
                                    first_name='test',
                                    email='*****@*****.**')
            u.set_password('test')
            u.save()
            p = Profile.objects.create(user_id=u.id, rating=20)

        item_list = []

        for i in range(0, int(options['users'])):
            u = User(username=randomword(9) + str(i),
                     first_name=randomword(3) + str(i),
                     email=randomword(10) + str(i) + '@aithelle.com')
            item_list.append(u)
            if i % 10000 == 0:
                User.objects.bulk_create(item_list)
                item_list = []

        User.objects.bulk_create(item_list)
        um = User.objects.aggregate(Min('id'), Max('id'))

        item_list = []

        for i in range(0, int(options['users'])):
            p = Profile(user_id=um['id__max'] - i,
                        rating=random.randint(0, 20))
            item_list.append(p)
            if i % 10000 == 0:
                Profile.objects.bulk_create(item_list)
                item_list = []
        Profile.objects.bulk_create(item_list)
        print 'Users created\n'

        item_list = []
        for i in range(0, int(options['tags'])):
            t = Tag(text=randomword(5))
            item_list.append(t)
            if i % 10000 == 0:
                Tag.objects.bulk_create(item_list)
                item_list = []
        Tag.objects.bulk_create(item_list)

        tm = Tag.objects.aggregate(Min('id'), Max('id'))

        print 'Tags created\n'

        for i in range(0, int(options['questions'])):
            q = Question(author_id=random.randint(um['id__min'],
                                                  um['id__max']),
                         title=randomword(20),
                         text=randomword(10) + ' ' + randomword(20),
                         rating=random.randint(-100, 100))
            q.save()
            q.tags.add(random.randint(tm['id__min'], tm['id__max']), \
                random.randint(tm['id__min'], tm['id__max']), \
                random.randint(tm['id__min'], tm['id__max']))

        qm = Question.objects.aggregate(Min('id'), Max('id'))

        print 'Questions created\n'

        item_list = []
        for i in range(0, int(options['answers'])):
            a = Answer(author_id=random.randint(um['id__min'], um['id__max']),
                       question_id=random.randint(qm['id__min'],
                                                  qm['id__max']),
                       is_right=random.randint(0, 1),
                       text=randomword(10) + ' ' + randomword(10),
                       rating=random.randint(-100, 100))
            item_list.append(a)
            if i % 10000 == 0:
                Answer.objects.bulk_create(item_list)
                item_list = []

        Answer.objects.bulk_create(item_list)

        am = Answer.objects.aggregate(Min('id'), Max('id'))

        print 'Answers created\n'

        item_list = []
        for i in range(0, int(options['likes'])):
            item_type = random.choice(['question', 'answer'])
            if item_type == 'question':
                item = random.randint(qm['id__min'], qm['id__max'])
            else:
                item = random.randint(am['id__min'], am['id__max'])
            l = Like(author_id=random.randint(um['id__min'], um['id__max']),
                     item_type=item_type,
                     item=item,
                     is_like=random.randint(0, 1))
            item_list.append(l)
            if i % 20000 == 0:
                Like.objects.bulk_create(item_list)
                item_list = []
        Like.objects.bulk_create(item_list)

        print 'Likes created\n'
def create_qusetion_answer_and_connect_user(how_many):
	does_NOT_exist_users = ''
	for j in range(how_many):
		### User get random
		user_id = random.randint(1, 10362)
		try:
			u = User.objects.get(id=user_id)
		except:
			does_NOT_exist_users = does_NOT_exist_users + str(user_id) + ' '
			user_id = random.randint(1, 10362)
			try:
				u = User.objects.get(id=user_id)
			except:
				does_NOT_exist_users = does_NOT_exist_users + str(user_id) + ' '
				user_id = random.randint(1, 10362)
				u = User.objects.get(id=user_id)
		### End User get random
		
		### Tag create
		start_tag_lenght = 3
		end_tag_lenght = 6
		t_text = randomword(start_tag_lenght, end_tag_lenght)
		
		t = Tag(text = t_text)
		
		t.save()
		### End Tag create
		
		### Question create
		question_length_low = 8
		question_length_high = 15
		q_title = randomword(question_length_low, question_length_high)
		for i in range(random.randint(0, 2)):
			q_title = q_title + ' ' + randomword(question_length_low, question_length_high)
		q_title = q_title  + '?'
		q_text = randomword(question_length_low, question_length_high)
		for i in range(random.randint(3, 20)):
			q_text = q_text + ' ' + randomword(question_length_low, question_length_high)
		q_rating = random.randint(-10, 150)
		
		q = Question(title = q_title,
					 text = q_text,
					 author = u,
					 rating = q_rating
					 )
					 
		q.save()
		q.tags.add(t)
		q.save()
		### End Question create
		
		### User get random
		ser_id = random.randint(1, 10362)
		try:
			u = User.objects.get(id=user_id)
		except:
			does_NOT_exist_users = does_NOT_exist_users + str(user_id) + ' '
			user_id = random.randint(1, 10362)
			try:
				u = User.objects.get(id=user_id)
			except:
				does_NOT_exist_users = does_NOT_exist_users + str(user_id) + ' '
				user_id = random.randint(1, 10362)
				u = User.objects.get(id=user_id)
		### End User get random
		
		### Answer create
		answer_length_low = 8
		answer_length_high = 15
		a_text = randomword(answer_length_low, answer_length_high)
		for i in range(random.randint(7, 25)):
			a_text = a_text + ' ' + randomword(answer_length_low, answer_length_high)
		a_right_answer = True
		
		a = Answer(question = q,
				   text = a_text, 
				   right_answer = a_right_answer, 
				   author = u
				   )
		a.save()
		### End asnwer create
		print('Create: ' + str(j))
	print('Create: ' + str(how_many))
	print(does_NOT_exist_users)
コード例 #36
0
def create_questions(users):
  for i in range(0, 100000):
    uid = random.randint(0, len(users) - 1)
    
    question = Question(title="Doctor, where am i?", contents="With Black Jack and ladies of course", author=users[uid], date_created=timezone.now())
    question.save()