{"action":"created","comment":{"url":"https://api.github.com/repos/dkotegov/home-assignment-2/pulls/comments/28228176","id":28228176,"diff_hunk":"@@ -0,0 +1,611 @@\n+# -*- coding: utf-8 -*-\n+\n+from page_object import *\n+\n+from basic_test import TestWithAuth, BasicTest\n+\n+class TopicDeleteTestCase(TestWithAuth):\n+\n+    def testDeletion(self):\n+\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.set_main_text(self.MAIN_TEXT)\n+        create_form.submit()\n+\n+        topic_page = TopicPage(self.driver)\n+        topic_page.topic.open_blog()\n+\n+        blog_page = BlogPage(self.driver)\n+        blog_page.topic.delete()\n+\n+        topic_title = blog_page.topic.get_title()\n+        self.assertNotEqual(self.TITLE,topic_title)\n+\n+\n+class TopicMainTestCase(BasicTest):\n+\n+    def testSimpleCreation(self):\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.set_main_text(self.MAIN_TEXT)\n+        create_form.submit()\n+\n+        topic_page = TopicPage(self.driver)\n+        topic_title = topic_page.topic.get_title()\n+        topic_text = topic_page.topic.get_text()\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(self.MAIN_TEXT, topic_text)\n+\n+        topic_page.topic.open_blog()\n+\n+        blog_page = BlogPage(self.driver)\n+        topic_title = blog_page.topic.get_title()\n+        topic_text = blog_page.topic.get_text()\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(self.MAIN_TEXT, topic_text)\n+\n+    def testNoBlogSelected(self):\n+        ERROR_MSG = u'Блог'\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+\n+        create_form = create_page.form\n+        create_form.set_title(self.TITLE)\n+        create_form.set_main_text(self.MAIN_TEXT)\n+        create_form.submit()\n+\n+        error_text = create_form.get_error_text()\n+\n+        self.assertIn(ERROR_MSG, error_text)\n+\n+    def testNoTitle(self):\n+        ERROR_MSG = u'Заголовок'\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_main_text(self.MAIN_TEXT)\n+        create_form.submit()\n+\n+        error_text = create_form.get_error_text()\n+\n+        self.assertIn(ERROR_MSG, error_text)\n+\n+    def testNoText(self):\n+        ERROR_MSG = u'Текст'\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.submit()\n+\n+        error_text = create_form.get_error_text()\n+\n+        self.assertIn(ERROR_MSG, error_text)\n+\n+    def testMarkH4(self):\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.mark_h4()\n+        create_form.set_main_text(self.MAIN_TEXT)\n+        create_form.submit()\n+\n+        topic_page = TopicPage(self.driver)\n+        topic_title = topic_page.topic.get_title()\n+        topic_text = topic_page.topic.get_text()\n+        expected_text = '<h4>'+self.MAIN_TEXT+'</h4>'\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(expected_text, topic_text)\n+\n+        topic_page.topic.open_blog()\n+\n+        blog_page = BlogPage(self.driver)\n+        topic_title = blog_page.topic.get_title()\n+        topic_text = blog_page.topic.get_text()\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(expected_text, topic_text)\n+\n+    def testMarkH5(self):\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.mark_h5()\n+        create_form.set_main_text(self.MAIN_TEXT)\n+        create_form.submit()\n+\n+        topic_page = TopicPage(self.driver)\n+        topic_title = topic_page.topic.get_title()\n+        topic_text = topic_page.topic.get_text()\n+        expected_text = '<h5>'+self.MAIN_TEXT+'</h5>'\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(expected_text, topic_text)\n+\n+        topic_page.topic.open_blog()\n+\n+        blog_page = BlogPage(self.driver)\n+        topic_title = blog_page.topic.get_title()\n+        topic_text = blog_page.topic.get_text()\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(expected_text, topic_text)\n+\n+    def testMarkH6(self):\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.mark_h6()\n+        create_form.set_main_text(self.MAIN_TEXT)\n+        create_form.submit()\n+\n+        topic_page = TopicPage(self.driver)\n+        topic_title = topic_page.topic.get_title()\n+        topic_text = topic_page.topic.get_text()\n+        expected_text = '<h6>'+self.MAIN_TEXT+'</h6>'\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(expected_text, topic_text)\n+\n+        topic_page.topic.open_blog()\n+\n+        blog_page = BlogPage(self.driver)\n+        topic_title = blog_page.topic.get_title()\n+        topic_text = blog_page.topic.get_text()\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(expected_text, topic_text)\n+\n+    def testMarkBold(self):\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.mark_bold()\n+        create_form.set_main_text(self.MAIN_TEXT)\n+        create_form.submit()\n+\n+        topic_page = TopicPage(self.driver)\n+        topic_title = topic_page.topic.get_title()\n+        topic_text = topic_page.topic.get_text()\n+        expected_text = '<strong>'+self.MAIN_TEXT+'</strong>'\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(expected_text, topic_text)\n+\n+        topic_page.topic.open_blog()\n+\n+        blog_page = BlogPage(self.driver)\n+        topic_title = blog_page.topic.get_title()\n+        topic_text = blog_page.topic.get_text()\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(expected_text, topic_text)\n+\n+    def testMarkItalic(self):\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.mark_italic()\n+        create_form.set_main_text(self.MAIN_TEXT)\n+        create_form.submit()\n+\n+        topic_page = TopicPage(self.driver)\n+        topic_title = topic_page.topic.get_title()\n+        topic_text = topic_page.topic.get_text()\n+        expected_text = '<em>'+self.MAIN_TEXT+'</em>'\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(expected_text, topic_text)\n+\n+        topic_page.topic.open_blog()\n+\n+        blog_page = BlogPage(self.driver)\n+        topic_title = blog_page.topic.get_title()\n+        topic_text = blog_page.topic.get_text()\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(expected_text, topic_text)\n+\n+    def testMarkStroke(self):\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.mark_stroke()\n+        create_form.set_main_text(self.MAIN_TEXT)\n+        create_form.submit()\n+\n+        topic_page = TopicPage(self.driver)\n+        topic_title = topic_page.topic.get_title()\n+        topic_text = topic_page.topic.get_text()\n+        expected_text = '<s>'+self.MAIN_TEXT+'</s>'\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(expected_text, topic_text)\n+\n+        topic_page.topic.open_blog()\n+\n+        blog_page = BlogPage(self.driver)\n+        topic_title = blog_page.topic.get_title()\n+        topic_text = blog_page.topic.get_text()\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(expected_text, topic_text)\n+\n+    def testMarkUnderline(self):\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.mark_underline()\n+        create_form.set_main_text(self.MAIN_TEXT)\n+        create_form.submit()\n+\n+        topic_page = TopicPage(self.driver)\n+        topic_title = topic_page.topic.get_title()\n+        topic_text = topic_page.topic.get_text()\n+        expected_text = '<u>'+self.MAIN_TEXT+'</u>'\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(expected_text, topic_text)\n+\n+        topic_page.topic.open_blog()\n+\n+        blog_page = BlogPage(self.driver)\n+        topic_title = blog_page.topic.get_title()\n+        topic_text = blog_page.topic.get_text()\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(expected_text, topic_text)\n+\n+    def testMarkQuote(self):\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.set_main_text(self.MAIN_TEXT)\n+        create_form.select_all_text()\n+        create_form.mark_quote()\n+        create_form.submit()\n+\n+        topic_page = TopicPage(self.driver)\n+        topic_title = topic_page.topic.get_title()\n+        topic_text = topic_page.topic.get_text()\n+        expected_text = '<blockquote>'+self.MAIN_TEXT+'</blockquote>'\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(expected_text, topic_text)\n+\n+        topic_page.topic.open_blog()\n+\n+        blog_page = BlogPage(self.driver)\n+        topic_title = blog_page.topic.get_title()\n+        topic_text = blog_page.topic.get_text()\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(expected_text, topic_text)\n+\n+    def testMarkCode(self):\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.mark_code()\n+        create_form.set_main_text(self.MAIN_TEXT)\n+        create_form.submit()\n+\n+        topic_page = TopicPage(self.driver)\n+        topic_title = topic_page.topic.get_title()\n+        topic_text = topic_page.topic.get_text()\n+        expected_text = '<code>'+self.MAIN_TEXT+'</code>'\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(expected_text, topic_text)\n+\n+        topic_page.topic.open_blog()\n+\n+        blog_page = BlogPage(self.driver)\n+        topic_title = blog_page.topic.get_title()\n+        topic_text = blog_page.topic.get_text()\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(expected_text, topic_text)\n+\n+    def testMarkUl(self):\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.mark_ul()\n+        create_form.set_main_text(self.MAIN_TEXT)\n+        create_form.submit()\n+\n+        topic_page = TopicPage(self.driver)\n+        topic_title = topic_page.topic.get_title()\n+        topic_text = topic_page.topic.get_ul_text()\n+        self.assertIsNotNone(topic_text)\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(self.MAIN_TEXT, topic_text)\n+\n+        topic_page.topic.open_blog()\n+\n+        blog_page = BlogPage(self.driver)\n+        topic_title = blog_page.topic.get_title()\n+        topic_text = blog_page.topic.get_ul_text()\n+        self.assertIsNotNone(topic_text)\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(self.MAIN_TEXT, topic_text)\n+\n+    def testMarkOl(self):\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.mark_ol()\n+        create_form.set_main_text(self.MAIN_TEXT)\n+        create_form.submit()\n+\n+        topic_page = TopicPage(self.driver)\n+        topic_title = topic_page.topic.get_title()\n+        topic_text = topic_page.topic.get_ol_text()\n+        self.assertIsNotNone(topic_text)\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(self.MAIN_TEXT, topic_text)\n+\n+        topic_page.topic.open_blog()\n+\n+        blog_page = BlogPage(self.driver)\n+        topic_title = blog_page.topic.get_title()\n+        topic_text = blog_page.topic.get_ol_text()\n+        self.assertIsNotNone(topic_text)\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(self.MAIN_TEXT, topic_text)\n+\n+    def testAddLink(self):\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.add_link(self.LINK_ADDR, self.LINK_TEXT)\n+        create_form.submit()\n+\n+        topic_page = TopicPage(self.driver)\n+        topic_title = topic_page.topic.get_title()\n+        topic_text = topic_page.topic.get_text()\n+        expected_text = '<a href=\"'+self.LINK_ADDR+'\">'+self.LINK_TEXT+'</a>'\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(expected_text, topic_text)\n+\n+        topic_page.topic.open_blog()\n+\n+        blog_page = BlogPage(self.driver)\n+        topic_title = blog_page.topic.get_title()\n+        topic_text = blog_page.topic.get_text()\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(expected_text, topic_text)\n+\n+    def testAddUser(self):\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.add_user(self.USER_ADD)\n+        create_form.submit()\n+\n+        topic_page = TopicPage(self.driver)\n+        topic_title = topic_page.topic.get_title()\n+        topic_text = topic_page.topic.get_text()\n+        expected_text = u'<a href=\"/profile/dm.kotegov/\">Дмитрий Котегов</a>'\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(expected_text, topic_text)\n+\n+        topic_page.topic.open_blog()\n+\n+        blog_page = BlogPage(self.driver)\n+        topic_title = blog_page.topic.get_title()\n+        topic_text = blog_page.topic.get_text()\n+        self.assertEqual(self.TITLE, topic_title)\n+        self.assertIn(expected_text, topic_text)\n+\n+    def testAddPicture(self):\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.add_picture_from_pc(self.PATH_TO_PIC)\n+        create_form.submit()\n+\n+        topic_page = TopicPage(self.driver)\n+        self.assertTrue(topic_page.topic.has_picture())\n+\n+    def testAddPictureLeft(self):\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.add_picture_from_pc(self.PATH_TO_PIC, align='left')\n+        create_form.submit()\n+\n+        topic_page = TopicPage(self.driver)\n+        self.assertTrue(topic_page.topic.has_picture(align='left'))\n+\n+    def testAddPictureRight(self):\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.add_picture_from_pc(self.PATH_TO_PIC, align='right')\n+        create_form.submit()\n+\n+        topic_page = TopicPage(self.driver)\n+        self.assertTrue(topic_page.topic.has_picture(align='right'))\n+\n+    def testAddPictureCenter(self):\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.add_picture_from_pc(self.PATH_TO_PIC, align='center')\n+        create_form.submit()\n+\n+        topic_page = TopicPage(self.driver)\n+        self.assertTrue(topic_page.topic.has_picture(align='center'))\n+\n+    def testAddPictureWithText(self):\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+        img_title = self.createRandomText('Img title')\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.add_picture_from_pc(self.PATH_TO_PIC, text=img_title)\n+        create_form.submit()\n+\n+        topic_page = TopicPage(self.driver)\n+        self.assertTrue(topic_page.topic.has_picture(text=img_title))\n+\n+    def testAddPictureByUrl_Upload(self):\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.add_picture_from_web(self.PIC_URL, upload=True)\n+        create_form.submit()\n+\n+        topic_page = TopicPage(self.driver)\n+        self.assertTrue(topic_page.topic.has_picture())\n+\n+    def testAddPictureByUrl_Link(self):\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.add_picture_from_web(self.PIC_URL, upload=False)\n+        create_form.submit()\n+\n+        topic_page = TopicPage(self.driver)\n+        self.assertTrue(topic_page.topic.has_picture())\n+\n+    def testDraft(self):\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.set_main_text(self.MAIN_TEXT)\n+        create_form.set_draft()\n+        create_form.submit()\n+\n+        topic_page = TopicPage(self.driver)\n+        self.assertTrue(topic_page.topic.is_draft())\n+\n+    def testDisableComments(self):\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.set_main_text(self.MAIN_TEXT)\n+        create_form.disable_comments()\n+        create_form.submit()\n+\n+        topic_page = TopicPage(self.driver)\n+        self.assertTrue(topic_page.topic.are_comments_disabled())\n+\n+# this test checks nothing: polls are broken at the forum\n+    def testAddPoll(self):\n+        create_page = CreatePage(self.driver)\n+        create_page.open()\n+\n+        create_form = create_page.form\n+        create_form.blog_select_open()\n+        create_form.blog_select_set_option(self.BLOG)\n+        create_form.set_title(self.TITLE)\n+        create_form.set_main_text(self.MAIN_TEXT)\n+        create_form.add_poll('dsgg',['gfsdgdf','sdgsdg'])\n+        create_form.submit()\n+\n+        topic_page = TopicPage(self.driver)\n+        self.assertTrue(topic_page.topic.is_poll_exist())","path":"tests/topic_test.py","position":594,"original_position":594,"commit_id":"1e46ab91cc7d0cdf8d1adb2ccec473403cf0875f","original_commit_id":"1e46ab91cc7d0cdf8d1adb2ccec473403cf0875f","user":{"login":"grechkin-pogrebnyakov","id":7269962,"avatar_url":"https://avatars.githubusercontent.com/u/7269962?v=3","gravatar_id":"","url":"https://api.github.com/users/grechkin-pogrebnyakov","html_url":"https://github.com/grechkin-pogrebnyakov","followers_url":"https://api.github.com/users/grechkin-pogrebnyakov/followers","following_url":"https://api.github.com/users/grechkin-pogrebnyakov/following{/other_user}","gists_url":"https://api.github.com/users/grechkin-pogrebnyakov/gists{/gist_id}","starred_url":"https://api.github.com/users/grechkin-pogrebnyakov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grechkin-pogrebnyakov/subscriptions","organizations_url":"https://api.github.com/users/grechkin-pogrebnyakov/orgs","repos_url":"https://api.github.com/users/grechkin-pogrebnyakov/repos","events_url":"https://api.github.com/users/grechkin-pogrebnyakov/events{/privacy}","received_events_url":"https://api.github.com/users/grechkin-pogrebnyakov/received_events","type":"User","site_admin":false},"body":"Я же там написал, что этот тест ничего не проверяет, потому что на портале функциональность не работает. (в строке 580)","created_at":"2015-04-13T10:27:48Z","updated_at":"2015-04-13T10:27:48Z","html_url":"https://github.com/dkotegov/home-assignment-2/pull/15#discussion_r28228176","pull_request_url":"https://api.github.com/repos/dkotegov/home-assignment-2/pulls/15","_links":{"self":{"href":"https://api.github.com/repos/dkotegov/home-assignment-2/pulls/comments/28228176"},"html":{"href":"https://github.com/dkotegov/home-assignment-2/pull/15#discussion_r28228176"},"pull_request":{"href":"https://api.github.com/repos/dkotegov/home-assignment-2/pulls/15"}}},"pull_request":{"url":"https://api.github.com/repos/dkotegov/home-assignment-2/pulls/15","id":33122143,"html_url":"https://github.com/dkotegov/home-assignment-2/pull/15","diff_url":"https://github.com/dkotegov/home-assignment-2/pull/15.diff","patch_url":"https://github.com/dkotegov/home-assignment-2/pull/15.patch","issue_url":"https://api.github.com/repos/dkotegov/home-assignment-2/issues/15","number":15,"state":"open","locked":false,"title":"Homework number two","user":{"login":"grechkin-pogrebnyakov","id":7269962,"avatar_url":"https://avatars.githubusercontent.com/u/7269962?v=3","gravatar_id":"","url":"https://api.github.com/users/grechkin-pogrebnyakov","html_url":"https://github.com/grechkin-pogrebnyakov","followers_url":"https://api.github.com/users/grechkin-pogrebnyakov/followers","following_url":"https://api.github.com/users/grechkin-pogrebnyakov/following{/other_user}","gists_url":"https://api.github.com/users/grechkin-pogrebnyakov/gists{/gist_id}","starred_url":"https://api.github.com/users/grechkin-pogrebnyakov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grechkin-pogrebnyakov/subscriptions","organizations_url":"https://api.github.com/users/grechkin-pogrebnyakov/orgs","repos_url":"https://api.github.com/users/grechkin-pogrebnyakov/repos","events_url":"https://api.github.com/users/grechkin-pogrebnyakov/events{/privacy}","received_events_url":"https://api.github.com/users/grechkin-pogrebnyakov/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-04-12T16:11:36Z","updated_at":"2015-04-13T10:27:48Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a67d5d29e064c03aecb37408d539ab10eec7f912","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/dkotegov/home-assignment-2/pulls/15/commits","review_comments_url":"https://api.github.com/repos/dkotegov/home-assignment-2/pulls/15/comments","review_comment_url":"https://api.github.com/repos/dkotegov/home-assignment-2/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dkotegov/home-assignment-2/issues/15/comments","statuses_url":"https://api.github.com/repos/dkotegov/home-assignment-2/statuses/1e46ab91cc7d0cdf8d1adb2ccec473403cf0875f","head":{"label":"grechkin-pogrebnyakov:master","ref":"master","sha":"1e46ab91cc7d0cdf8d1adb2ccec473403cf0875f","user":{"login":"grechkin-pogrebnyakov","id":7269962,"avatar_url":"https://avatars.githubusercontent.com/u/7269962?v=3","gravatar_id":"","url":"https://api.github.com/users/grechkin-pogrebnyakov","html_url":"https://github.com/grechkin-pogrebnyakov","followers_url":"https://api.github.com/users/grechkin-pogrebnyakov/followers","following_url":"https://api.github.com/users/grechkin-pogrebnyakov/following{/other_user}","gists_url":"https://api.github.com/users/grechkin-pogrebnyakov/gists{/gist_id}","starred_url":"https://api.github.com/users/grechkin-pogrebnyakov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grechkin-pogrebnyakov/subscriptions","organizations_url":"https://api.github.com/users/grechkin-pogrebnyakov/orgs","repos_url":"https://api.github.com/users/grechkin-pogrebnyakov/repos","events_url":"https://api.github.com/users/grechkin-pogrebnyakov/events{/privacy}","received_events_url":"https://api.github.com/users/grechkin-pogrebnyakov/received_events","type":"User","site_admin":false},"repo":{"id":33613993,"name":"home-assignment-2","full_name":"grechkin-pogrebnyakov/home-assignment-2","owner":{"login":"grechkin-pogrebnyakov","id":7269962,"avatar_url":"https://avatars.githubusercontent.com/u/7269962?v=3","gravatar_id":"","url":"https://api.github.com/users/grechkin-pogrebnyakov","html_url":"https://github.com/grechkin-pogrebnyakov","followers_url":"https://api.github.com/users/grechkin-pogrebnyakov/followers","following_url":"https://api.github.com/users/grechkin-pogrebnyakov/following{/other_user}","gists_url":"https://api.github.com/users/grechkin-pogrebnyakov/gists{/gist_id}","starred_url":"https://api.github.com/users/grechkin-pogrebnyakov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grechkin-pogrebnyakov/subscriptions","organizations_url":"https://api.github.com/users/grechkin-pogrebnyakov/orgs","repos_url":"https://api.github.com/users/grechkin-pogrebnyakov/repos","events_url":"https://api.github.com/users/grechkin-pogrebnyakov/events{/privacy}","received_events_url":"https://api.github.com/users/grechkin-pogrebnyakov/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/grechkin-pogrebnyakov/home-assignment-2","description":"","fork":true,"url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2","forks_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/forks","keys_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/keys{/key_id}","collaborators_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/teams","hooks_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/hooks","issue_events_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/issues/events{/number}","events_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/events","assignees_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/assignees{/user}","branches_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/branches{/branch}","tags_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/tags","blobs_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/git/refs{/sha}","trees_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/git/trees{/sha}","statuses_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/statuses/{sha}","languages_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/languages","stargazers_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/stargazers","contributors_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/contributors","subscribers_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/subscribers","subscription_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/subscription","commits_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/commits{/sha}","git_commits_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/git/commits{/sha}","comments_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/comments{/number}","issue_comment_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/issues/comments{/number}","contents_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/contents/{+path}","compare_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/compare/{base}...{head}","merges_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/merges","archive_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/downloads","issues_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/issues{/number}","pulls_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/pulls{/number}","milestones_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/milestones{/number}","notifications_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/labels{/name}","releases_url":"https://api.github.com/repos/grechkin-pogrebnyakov/home-assignment-2/releases{/id}","created_at":"2015-04-08T15:03:08Z","updated_at":"2015-04-12T16:06:55Z","pushed_at":"2015-04-12T16:06:54Z","git_url":"git://github.com/grechkin-pogrebnyakov/home-assignment-2.git","ssh_url":"git@github.com:grechkin-pogrebnyakov/home-assignment-2.git","clone_url":"https://github.com/grechkin-pogrebnyakov/home-assignment-2.git","svn_url":"https://github.com/grechkin-pogrebnyakov/home-assignment-2","homepage":null,"size":34031,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"dkotegov:master","ref":"master","sha":"4b61194ff06e0df05440c884d512a395639ddedb","user":{"login":"dkotegov","id":11413412,"avatar_url":"https://avatars.githubusercontent.com/u/11413412?v=3","gravatar_id":"","url":"https://api.github.com/users/dkotegov","html_url":"https://github.com/dkotegov","followers_url":"https://api.github.com/users/dkotegov/followers","following_url":"https://api.github.com/users/dkotegov/following{/other_user}","gists_url":"https://api.github.com/users/dkotegov/gists{/gist_id}","starred_url":"https://api.github.com/users/dkotegov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dkotegov/subscriptions","organizations_url":"https://api.github.com/users/dkotegov/orgs","repos_url":"https://api.github.com/users/dkotegov/repos","events_url":"https://api.github.com/users/dkotegov/events{/privacy}","received_events_url":"https://api.github.com/users/dkotegov/received_events","type":"User","site_admin":false},"repo":{"id":31986215,"name":"home-assignment-2","full_name":"dkotegov/home-assignment-2","owner":{"login":"dkotegov","id":11413412,"avatar_url":"https://avatars.githubusercontent.com/u/11413412?v=3","gravatar_id":"","url":"https://api.github.com/users/dkotegov","html_url":"https://github.com/dkotegov","followers_url":"https://api.github.com/users/dkotegov/followers","following_url":"https://api.github.com/users/dkotegov/following{/other_user}","gists_url":"https://api.github.com/users/dkotegov/gists{/gist_id}","starred_url":"https://api.github.com/users/dkotegov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dkotegov/subscriptions","organizations_url":"https://api.github.com/users/dkotegov/orgs","repos_url":"https://api.github.com/users/dkotegov/repos","events_url":"https://api.github.com/users/dkotegov/events{/privacy}","received_events_url":"https://api.github.com/users/dkotegov/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/dkotegov/home-assignment-2","description":"","fork":false,"url":"https://api.github.com/repos/dkotegov/home-assignment-2","forks_url":"https://api.github.com/repos/dkotegov/home-assignment-2/forks","keys_url":"https://api.github.com/repos/dkotegov/home-assignment-2/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dkotegov/home-assignment-2/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dkotegov/home-assignment-2/teams","hooks_url":"https://api.github.com/repos/dkotegov/home-assignment-2/hooks","issue_events_url":"https://api.github.com/repos/dkotegov/home-assignment-2/issues/events{/number}","events_url":"https://api.github.com/repos/dkotegov/home-assignment-2/events","assignees_url":"https://api.github.com/repos/dkotegov/home-assignment-2/assignees{/user}","branches_url":"https://api.github.com/repos/dkotegov/home-assignment-2/branches{/branch}","tags_url":"https://api.github.com/repos/dkotegov/home-assignment-2/tags","blobs_url":"https://api.github.com/repos/dkotegov/home-assignment-2/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dkotegov/home-assignment-2/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dkotegov/home-assignment-2/git/refs{/sha}","trees_url":"https://api.github.com/repos/dkotegov/home-assignment-2/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dkotegov/home-assignment-2/statuses/{sha}","languages_url":"https://api.github.com/repos/dkotegov/home-assignment-2/languages","stargazers_url":"https://api.github.com/repos/dkotegov/home-assignment-2/stargazers","contributors_url":"https://api.github.com/repos/dkotegov/home-assignment-2/contributors","subscribers_url":"https://api.github.com/repos/dkotegov/home-assignment-2/subscribers","subscription_url":"https://api.github.com/repos/dkotegov/home-assignment-2/subscription","commits_url":"https://api.github.com/repos/dkotegov/home-assignment-2/commits{/sha}","git_commits_url":"https://api.github.com/repos/dkotegov/home-assignment-2/git/commits{/sha}","comments_url":"https://api.github.com/repos/dkotegov/home-assignment-2/comments{/number}","issue_comment_url":"https://api.github.com/repos/dkotegov/home-assignment-2/issues/comments{/number}","contents_url":"https://api.github.com/repos/dkotegov/home-assignment-2/contents/{+path}","compare_url":"https://api.github.com/repos/dkotegov/home-assignment-2/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dkotegov/home-assignment-2/merges","archive_url":"https://api.github.com/repos/dkotegov/home-assignment-2/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dkotegov/home-assignment-2/downloads","issues_url":"https://api.github.com/repos/dkotegov/home-assignment-2/issues{/number}","pulls_url":"https://api.github.com/repos/dkotegov/home-assignment-2/pulls{/number}","milestones_url":"https://api.github.com/repos/dkotegov/home-assignment-2/milestones{/number}","notifications_url":"https://api.github.com/repos/dkotegov/home-assignment-2/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dkotegov/home-assignment-2/labels{/name}","releases_url":"https://api.github.com/repos/dkotegov/home-assignment-2/releases{/id}","created_at":"2015-03-10T22:53:25Z","updated_at":"2015-03-11T00:15:40Z","pushed_at":"2015-04-13T02:17:45Z","git_url":"git://github.com/dkotegov/home-assignment-2.git","ssh_url":"git@github.com:dkotegov/home-assignment-2.git","clone_url":"https://github.com/dkotegov/home-assignment-2.git","svn_url":"https://github.com/dkotegov/home-assignment-2","homepage":null,"size":43531,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":17,"mirror_url":null,"open_issues_count":3,"forks":17,"open_issues":3,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dkotegov/home-assignment-2/pulls/15"},"html":{"href":"https://github.com/dkotegov/home-assignment-2/pull/15"},"issue":{"href":"https://api.github.com/repos/dkotegov/home-assignment-2/issues/15"},"comments":{"href":"https://api.github.com/repos/dkotegov/home-assignment-2/issues/15/comments"},"review_comments":{"href":"https://api.github.com/repos/dkotegov/home-assignment-2/pulls/15/comments"},"review_comment":{"href":"https://api.github.com/repos/dkotegov/home-assignment-2/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dkotegov/home-assignment-2/pulls/15/commits"},"statuses":{"href":"https://api.github.com/repos/dkotegov/home-assignment-2/statuses/1e46ab91cc7d0cdf8d1adb2ccec473403cf0875f"}}}}