Ejemplo n.º 1
0
    def setUp(self):
        self.voc = Vocabulary(name="voc")
        self.voc.save()
        self.user = User(username="******", password="******")
        self.user.save()
        self.up = UserProfile(user=self.user,
                              current_vocabulary=self.voc,
                              daily_words_amount=35)
        self.up.save()
        f = file("scripts/vocabulary.txt", "r")

        for lno, line in enumerate(f):
            word, exp = line.strip().split(" ", 1)

            w = Word(content=word, description=exp)
            w.save()
            w.vocabulary = [self.voc]
            w.save()
            if lno >= 49:  # 只添加 50 个单词
                break

        f.close()
Ejemplo n.º 2
0
def user_register(request):
    if not request.user.is_active:
        if request.method == "GET":
            return render(request, "accounts/register.html")

        elif request.method == "POST":
            username = request.POST['username']
            email = request.POST['email']
            password1 = request.POST['password']
            password2 = request.POST['repeat-password']

            # 数据合法性检查
            if password1 != password2:
                error_message = "Password doesn't match!"

            elif len(password1) < 6:
                error_message = "Password must be as least 6 characters!"

            elif not re.match(r"^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$", email):
                error_message = "Email is not valid!"

            else:
                try:
                    user = User.objects.create_user(username, email, password1)
                except IntegrityError:
                    error_message = "User already exists!"
                else:
                    user_profile = UserProfile(user=user)
                    user_profile.save()
                    user = authenticate(username=username, password=password1)
                    login(request, user)
                    return HttpResponseRedirect(reverse("memo:index"))

            return render(request, "accounts/register.html",
                          {"error": error_message})

    else:
        return HttpResponseRedirect(reverse("memo:index"))
Ejemplo n.º 3
0
Archivo: tests.py Proyecto: yrong/SWord
class WordSelectingTests(TestCase):
    def setUp(self):
        self.voc = Vocabulary(name="voc")
        self.voc.save()
        self.user = User(username="******", password="******")
        self.user.save()
        self.up = UserProfile(user=self.user,
                                current_vocabulary=self.voc,
                                daily_words_amount=35)
        self.up.save()
        f = file("scripts/vocabulary.txt", "r")

        for lno, line in enumerate(f):
            word, exp = line.strip().split(" ", 1)

            w = Word(content=word, description=exp)
            w.save()
            w.vocabulary = [self.voc]
            w.save()
            if lno >= 49:                                                       # 只添加 50 个单词
                break

        f.close()

    def test_select_words(self):
        u"""单词随机选择测试"""
        words = select_word(self.user)
        words_set = list(words)
        self.assertEqual(len(words_set), self.up.daily_words_amount)

        for w in words_set:                                                     # 将第一组单词添加到已掌握单词
            self.up.memorized_words.add(w)

        words = select_word(self.user)
        words_set = list(words)
        # 共 50 单词,已掌握 35 个,第二组只能选出 15 个
        self.assertEqual(len(words_set), 15)
Ejemplo n.º 4
0
class WordSelectingTests(TestCase):
    def setUp(self):
        self.voc = Vocabulary(name="voc")
        self.voc.save()
        self.user = User(username="******", password="******")
        self.user.save()
        self.up = UserProfile(user=self.user,
                              current_vocabulary=self.voc,
                              daily_words_amount=35)
        self.up.save()
        f = file("scripts/vocabulary.txt", "r")

        for lno, line in enumerate(f):
            word, exp = line.strip().split(" ", 1)

            w = Word(content=word, description=exp)
            w.save()
            w.vocabulary = [self.voc]
            w.save()
            if lno >= 49:  # 只添加 50 个单词
                break

        f.close()

    def test_select_words(self):
        u"""单词随机选择测试"""
        words = select_word(self.user)
        words_set = list(words)
        self.assertEqual(len(words_set), self.up.daily_words_amount)

        for w in words_set:  # 将第一组单词添加到已掌握单词
            self.up.memorized_words.add(w)

        words = select_word(self.user)
        words_set = list(words)
        # 共 50 单词,已掌握 35 个,第二组只能选出 15 个
        self.assertEqual(len(words_set), 15)
Ejemplo n.º 5
0
Archivo: tests.py Proyecto: yrong/SWord
    def setUp(self):
        self.voc = Vocabulary(name="voc")
        self.voc.save()
        self.user = User(username="******", password="******")
        self.user.save()
        self.up = UserProfile(user=self.user,
                                current_vocabulary=self.voc,
                                daily_words_amount=35)
        self.up.save()
        f = file("scripts/vocabulary.txt", "r")

        for lno, line in enumerate(f):
            word, exp = line.strip().split(" ", 1)

            w = Word(content=word, description=exp)
            w.save()
            w.vocabulary = [self.voc]
            w.save()
            if lno >= 49:                                                       # 只添加 50 个单词
                break

        f.close()