Пример #1
0
    def test_only_published_articles_are_shown(self):
        c = Client()
        user1 = User.objects.create_user(username="******",
                                         email="*****@*****.**",
                                         password="******")

        article1 = Article()
        article1.title = "nicetitle"
        article1.content = "nicecontent"
        article1.status = "P"  # Published
        article1.create_user = user1
        article1.create_user.id = user1.id
        article1.save()

        article2 = Article()
        article2.title = "secondnicetitle"
        article2.content = "secondnicecontent"
        article2.status = "D"  # Draft
        article2.create_user = user1
        article2.create_user.id = user1.id
        article2.save()

        # user1 logs in
        self.client.login(username="******", password="******")

        response = self.client.get(reverse('articles'))

        self.assertEqual(response.status_code, 200)
        self.assertTrue('articles' in response.context)
        # make sure that the only (published) Article we have in our database is in that list
        self.assertEqual(
            [article.pk for article in response.context['articles']], [1])
        article_1 = response.context['articles'][0]
        self.assertEqual(article_1.title, 'nicetitle')
Пример #2
0
 def test_only_published_articles_are_shown(self):
     c = Client()
     user1 = User.objects.create_user(username="******",
                                      email="*****@*****.**",
                                      password="******")
                                      
     article1 = Article()
     article1.title = "nicetitle"
     article1.content = "nicecontent"
     article1.status = "P" # Published
     article1.create_user = user1
     article1.create_user.id = user1.id
     article1.save()
     
     article2 = Article()
     article2.title = "secondnicetitle"
     article2.content = "secondnicecontent"
     article2.status = "D" # Draft
     article2.create_user = user1
     article2.create_user.id = user1.id
     article2.save()
                                      
     # user1 logs in
     self.client.login(username="******", password="******")
     
     response = self.client.get(reverse('articles'))
     
     self.assertEqual(response.status_code, 200)
     self.assertTrue('articles' in response.context)
     # make sure that the only (published) Article we have in our database is in that list 
     self.assertEqual([article.pk for article in response.context['articles']], [1])
     article_1 = response.context['articles'][0]
     self.assertEqual(article_1.title, 'nicetitle')
Пример #3
0
    def test_validate_article_edition(self):
        c = Client()

        user1 = User.objects.create_user(username="******",
                                         email="*****@*****.**",
                                         password="******")

        user2 = User.objects.create_user(username="******",
                                         email="*****@*****.**",
                                         password="******")

        article = Article()
        article.title = "nicetitle"
        article.content = "nicecontent"
        article.create_user = user2
        article.create_user.id = user2.id
        article.save()

        self.client.login(username="******", password="******")
        response = self.client.get(reverse('edit_article', kwargs={'id': '1'}))
        self.assertEqual(response.status_code, 302)

        response = self.client.post(reverse('edit_article', kwargs={'id':
                                                                    '1'}))
        self.assertEqual(response.status_code, 302)

        self.client.login(username="******", password="******")
        response = self.client.get(reverse('edit_article', kwargs={'id': '1'}),
                                   user=user2)
        self.assertEqual(response.status_code, 200)

        response = self.client.post(reverse('edit_article', kwargs={'id':
                                                                    '1'}))
        self.assertEqual(response.status_code, 200)
Пример #4
0
    def handle(self, *args, **options):
        print feed
        for entry in range(len(feed.entries)):
#             print entry
#             print feed.entries[entry]
            
            #RSSの内容を一件づつ処理する
            title = feed.entries[entry].title
            link = feed.entries[entry].link
#             value = feed.entries[entry].value
            #更新日を文字列として取得
#             published_string = feed.entries[entry].published
            #更新日をdatetimeとして取得
#             tmp = feed.entries[entry].published_parsed
#             published_datetime = datetime.fromtimestamp(mktime(tmp))
         
            #表示
            key = hashlib.md5(title.encode('utf_8')).hexdigest()
            result_article = Article.objects.filter(insert_key=key)
            if not len(result_article):
                article = Article()
                article.create_user = User.objects.get(id=1)
                article.title = title
                article.content = title
                article.status = u'P'
                article.insert_key = key
                
                article.save()
Пример #5
0
    def test_validate_article_edition(self):
        c = Client()
        user1 = User.objects.create_user(username="******",
                                         email="*****@*****.**",
                                         password="******")
        user2 = User.objects.create_user(username="******",
                                         email="*****@*****.**",
                                         password="******")

        article = Article()
        article.title = "nicetitle"
        article.content = "nicecontent"
        article.create_user = user2
        article.create_user.id = user2.id
        article.save()
        self.client.login(username="******", password="******")
        response = self.client.get(reverse('edit_article', kwargs={'id': '1'}))
        self.assertEqual(response.status_code, 302)
        response = self.client.post(reverse('edit_article',
                                            kwargs={'id': '1'}))
        self.assertEqual(response.status_code, 302)
        self.client.login(username="******", password="******")
        response = self.client.get(reverse('edit_article', kwargs={'id': '1'}),
                                   user=user2)
        self.assertEqual(response.status_code, 200)
        response = self.client.post(reverse('edit_article',
                                            kwargs={'id': '1'}))
        self.assertEqual(response.status_code, 200)
Пример #6
0
 def handle(self, *args, **options):
     
     result_account_list = InstagramAccount.objects.all()
     for a in result_account_list:
         try:
             recent_media, next_ = api.user_recent_media(user_id=a.user_id, count=1)
             for media in recent_media:
                 temp_title = "title"
                 tags = ""
                 key = hashlib.md5(media.images['standard_resolution'].url).hexdigest()
                 result_article = Article.objects.filter(insert_key=key)
     
                 if not len(result_article):
                     if hasattr(media.caption, 'text'):temp_title = media.caption.text
                     if hasattr(media, 'tags'):
                         for t in media.tags:
                             tags = t.name
                                             
                     article = Article()
                     article.create_user = User.objects.get(id=1)
                     article.title = temp_title
                     article.content = "![](" + media.images['standard_resolution'].url + ")"
                     article.instagram_user_id = media.user.id
                     article.instagram_user_name = media.user.username
                     article.instagram_profile_url = media.user.profile_picture
                     article.update_date = media.caption.created_at
                     article.status = u'P'
                     article.insert_key = key
                     article.save()
                     article.create_tags(tags)
         except:
             print "error"
Пример #7
0
    def test_article_renders_template_and_slug(self):
        c = Client()
        user1 = User.objects.create_user(username="******",
                                         email="*****@*****.**",
                                         password="******")

        article1 = Article()
        article1.title = "nicetitle"
        article1.content = "nicecontent"
        article1.status = 'P'
        article1.slug = 'nice-title'
        article1.create_user = user1
        article1.create_user.id = user1.id
        article1.save()

        # user1 logs in
        self.client.login(username="******", password="******")

        response = self.client.get(
            reverse('article', kwargs={'slug': 'nice-title'}))

        self.assertEqual(response.status_code, 200)
        self.assertTemplateUsed(response, 'articles/article.html')
        # check we've passed the right article into the context
        self.assertEquals(response.context['article'], article1)
        # check the article's title appears on the page
        self.assertIn(article1.title, response.content)
Пример #8
0
 def test_article_renders_template_and_slug(self):
     c = Client()
     user1 = User.objects.create_user(username="******",
                                      email="*****@*****.**",
                                      password="******")
                                      
     article1 = Article()
     article1.title = "nicetitle"
     article1.content = "nicecontent"
     article1.status = 'P'
     article1.slug = 'nice-title'
     article1.create_user = user1
     article1.create_user.id = user1.id
     article1.save()
     
     # user1 logs in
     self.client.login(username="******", password="******")
     
     response = self.client.get(reverse('article', kwargs={'slug': 'nice-title'}))
     
     self.assertEqual(response.status_code, 200)
     self.assertTemplateUsed(response, 'articles/article.html')
     # check we've passed the right article into the context
     self.assertEquals(response.context['article'], article1)
     # check the article's title appears on the page
     self.assertIn(article1.title, response.content)
Пример #9
0
    def handle(self, *args, **options):
        
#         result_account_list = InstagramAccount.objects.all()
#         for a in result_account_list: 

        for n in user_name_list:
#             print username_to_id(n)
            user_id = username_to_id(n)
            if user_id:
                recent_media, next_ = api.user_recent_media(user_id=user_id, count=3)
                
                for media in recent_media:
                    temp_title = "title"
                    tags = "tags"
                    key = hashlib.md5(media.images['standard_resolution'].url).hexdigest()
                    result_article = Article.objects.filter(insert_key=key)
        
#                     if not len(result_article):
                    if True:
                        if hasattr(media.caption, 'text'):temp_title = media.caption.text
                        if hasattr(media, 'tags'):
                            for t in media.tags:
                                tags = t.name
                            
                        article = Article()
                        article.create_user = User.objects.get(id=1)
                        article.title = temp_title
                        article.content = "![](" + media.images['standard_resolution'].url + ")"
#                         article.content = article.content + """                 
#         .
#                         """
#                         article.content = article.content+temp_title


                        print media.user.id
                        print media.user.profile_picture
                        print media.user.username
                        
                        article.instagram_user_id = media.user.id
                        article.instagram_user_name = media.user.username
                        article.instagram_profile_url = media.user.profile_picture
                        
                        article.status = u'P'
                        article.insert_key = key
                        article.save()
                        article.create_tags(tags)
Пример #10
0
def write(request):
    if request.method == 'POST':
        form = ArticleForm(request.POST)
        if form.is_valid():
            article = Article()
            article.create_user = request.user
            article.title = form.cleaned_data.get('title')
            article.content = form.cleaned_data.get('content')
            status = form.cleaned_data.get('status')
            if status in [Article.PUBLISHED, Article.DRAFT]:
                article.status = form.cleaned_data.get('status')
            article.save()
            tags = form.cleaned_data.get('tags')
            article.create_tags(tags)
            return redirect('/articles/')
    else:
        form = ArticleForm()
    return render(request, 'articles/write.html', {'form': form})
Пример #11
0
def write(request):
    if request.method == 'POST':
        form = ArticleForm(request.POST)
        if form.is_valid():
            article = Article()
            article.create_user = request.user
            article.title = form.cleaned_data.get('title')
            article.content = form.cleaned_data.get('content')
            status = form.cleaned_data.get('status')
            if status in [Article.PUBLISHED, Article.DRAFT]:
                article.status = form.cleaned_data.get('status')
            article.save()
            tags = form.cleaned_data.get('tags')
            article.create_tags(tags)
            return redirect('/articles/')
    else:
        form = ArticleForm()
    return render(request, 'articles/write.html', {'form': form})
Пример #12
0
def write(request):
    if request.method == "POST":
        form = ArticleForm(request.POST)
        if form.is_valid():
            article = Article()
            article.create_user = request.user
            article.title = form.cleaned_data.get("title")
            article.content = form.cleaned_data.get("content")
            status = form.cleaned_data.get("status")
            if status in [Article.PUBLISHED, Article.DRAFT]:
                article.status = form.cleaned_data.get("status")
            article.save()
            tags = form.cleaned_data.get("tags")
            article.create_tags(tags)
            return redirect("/articles/")
    else:
        form = ArticleForm()
    return render(request, "articles/write.html", {"form": form})