Exemplo n.º 1
0
    def testCreateMangaFilename(self):
        p = open('./test/test-image-manga.htm', 'r')
        page = BeautifulSoup(p.read())
        imageInfo = PixivImage(28820443, page)
        imageInfo.imageCount = 100
        page.decompose()
        del page

        # cross check with json value for artist info
        js_file = open('./test/detail-554800.json', 'r')
        js = json.load(js_file)

        self.assertEqual(imageInfo.artist.artistId, str(js["user"]["id"]))
        self.assertEqual(imageInfo.artist.artistToken, js["user"]["account"])
        self.assertEqual(imageInfo.artist.artistAvatar, js["user"]["profile_image_urls"]["medium"].replace("_170", ""))

        nameFormat = '%member_token% (%member_id%)\\%urlFilename% %page_number% %works_date_only% %works_res% %works_tools% %title%'

        expected = unicode(u'maidoll (554800)\\28865189_p0 001 07/22/12 Multiple images: 2P C82おまけ本 「沙耶は俺の嫁」サンプル.jpg')
        result = PixivHelper.makeFilename(nameFormat, imageInfo, artistInfo=None, tagsSeparator=' ', fileUrl='http://i2.pixiv.net/img26/img/ffei/28865189_p0.jpg')
        # print(result)
        self.assertEqual(result, expected)

        expected = unicode(u'maidoll (554800)\\28865189_p14 015 07/22/12 Multiple images: 2P C82おまけ本 「沙耶は俺の嫁」サンプル.jpg')
        result = PixivHelper.makeFilename(nameFormat, imageInfo, artistInfo=None, tagsSeparator=' ', fileUrl='http://i2.pixiv.net/img26/img/ffei/28865189_p14.jpg')
        # print(result)
        self.assertEqual(result, expected)

        expected = unicode(u'maidoll (554800)\\28865189_p921 922 07/22/12 Multiple images: 2P C82おまけ本 「沙耶は俺の嫁」サンプル.jpg')
        result = PixivHelper.makeFilename(nameFormat, imageInfo, artistInfo=None, tagsSeparator=' ', fileUrl='http://i2.pixiv.net/img26/img/ffei/28865189_p921.jpg')
        # print(result)
        self.assertEqual(result, expected)
Exemplo n.º 2
0
    def testCreateMangaFilename(self):
        p = open('./test/test-image-manga.htm', 'r')
        page = BeautifulSoup(p.read())
        imageInfo = PixivImage(28820443, page)
        imageInfo.imageCount = 100
        page.decompose()
        del page

        # cross check with json value for artist info
        js_file = open('./test/detail-554800.json', 'r')
        js = json.load(js_file)

        self.assertEqual(imageInfo.artist.artistId, str(js["user"]["id"]))
        self.assertEqual(imageInfo.artist.artistToken, js["user"]["account"])
        self.assertEqual(imageInfo.artist.artistAvatar, js["user"]["profile_image_urls"]["medium"].replace("_170", ""))

        nameFormat = '%member_token% (%member_id%)\\%urlFilename% %page_number% %works_date_only% %works_res% %works_tools% %title%'

        expected = unicode(u'maidoll (554800)\\28865189_p0 001 07/22/12 Multiple images: 2P C82おまけ本 「沙耶は俺の嫁」サンプル.jpg')
        result = PixivHelper.makeFilename(nameFormat, imageInfo, artistInfo=None, tagsSeparator=' ', fileUrl='http://i2.pixiv.net/img26/img/ffei/28865189_p0.jpg')
        # print(result)
        self.assertEqual(result, expected)

        expected = unicode(u'maidoll (554800)\\28865189_p14 015 07/22/12 Multiple images: 2P C82おまけ本 「沙耶は俺の嫁」サンプル.jpg')
        result = PixivHelper.makeFilename(nameFormat, imageInfo, artistInfo=None, tagsSeparator=' ', fileUrl='http://i2.pixiv.net/img26/img/ffei/28865189_p14.jpg')
        # print(result)
        self.assertEqual(result, expected)

        expected = unicode(u'maidoll (554800)\\28865189_p921 922 07/22/12 Multiple images: 2P C82おまけ本 「沙耶は俺の嫁」サンプル.jpg')
        result = PixivHelper.makeFilename(nameFormat, imageInfo, artistInfo=None, tagsSeparator=' ', fileUrl='http://i2.pixiv.net/img26/img/ffei/28865189_p921.jpg')
        # print(result)
        self.assertEqual(result, expected)
Exemplo n.º 3
0
 def testPixivImageUgoira(self):
     # print('\nTesting image page')
     p = open('./test/test-image-ugoira.htm', 'r')
     page = BeautifulSoup(p.read())
     image = PixivImage(46281014, page)
     urls = image.ParseImages(page)
     # print(image.imageUrls)
     self.assertTrue(image.imageUrls[0].find(".zip") > -1)
     page.decompose()
     del page
Exemplo n.º 4
0
 def testPixivImageParseBig(self):
     # print('\nTesting parse Big Image')
     p = open('./test.new/test-image-unicode.htm', 'r')
     page = BeautifulSoup(p.read())
     image = PixivImage()
     urls = image.ParseImages(page, mode='big')
     self.assertEqual(len(urls), 1)
     # print(urls[0])
     imageId = urls[0].split('/')[-1].split('_')[0]
     # print('imageId:',imageId)
     self.assertEqual(int(imageId), 2493913)
Exemplo n.º 5
0
 def testPixivImageParseMangaTwoPage(self):
     # print('\nTesting parse Manga Images')
     p = open('./test.new/test-image-manga-2page.htm', 'r')
     page = BeautifulSoup(p.read())
     image = PixivImage()
     urls = image.ParseImages(page, mode='manga')
     # print(urls)
     self.assertEqual(len(urls), 11)
     self.assertEqual(len(urls), image.imageCount)
     imageId = urls[0].split('/')[-1].split('.')[0]
     # print('imageId:',imageId)
     self.assertEqual(imageId, '46322053_p0')
Exemplo n.º 6
0
 def testPixivImageParseManga(self):
     # print('\nTesting parse Manga Images')
     p = open('./test.new/test-image-parsemanga.htm', 'r')
     page = BeautifulSoup(p.read())
     image = PixivImage()
     urls = image.ParseImages(page,
                              mode='manga',
                              _br=MockPixivBrowser(None))
     # print(urls)
     self.assertEqual(len(urls), 3)
     self.assertEqual(len(urls), image.imageCount)
     imageId = urls[0].split('/')[-1].split('.')[0]
     # print('imageId:',imageId)
     self.assertEqual(imageId, '46279245_p0')
Exemplo n.º 7
0
    def testCreateFilenameUnicode(self):
        p = open('./test/test-image-unicode.htm', 'r')
        page = as_soup(p.read())
        imageInfo = PixivImage(2493913, page)
        page.decompose()
        del page

        # cross check with json value for artist info
        js_file = open('./test/detail-267014.json', 'r')
        js = json.load(js_file)

        self.assertEqual(imageInfo.artist.artistId, str(js["user"]["id"]))
        self.assertEqual(imageInfo.artist.artistToken, js["user"]["account"])
        self.assertEqual(
            imageInfo.artist.artistAvatar,
            js["user"]["profile_image_urls"]["medium"].replace("_170", ""))

        nameFormat = '%member_token% (%member_id%)\\%urlFilename% %works_date_only% %works_res% %works_tools% %title%'
        expected = str(
            'balzehn (267014)\\2493913 12/23/08 852x1200 アラクネのいる日常2.jpg')
        result = PixivHelper.makeFilename(
            nameFormat,
            imageInfo,
            artistInfo=None,
            tagsSeparator=' ',
            fileUrl='http://i2.pixiv.net/img16/img/balzehn/2493913.jpg')
        # print(result)
        self.assertEqual(result, expected)
Exemplo n.º 8
0
 def testPixivImageParseMangaBig(self):
     # print('\nTesting parse Manga Images')
     # Issue #224
     p = open('./test.new/test-image-big-manga.html', 'r')
     page = BeautifulSoup(p.read())
     image = PixivImage(iid=62670665)
     image.ParseInfo(page)
     urls = image.ParseImages(page,
                              mode=image.imageMode,
                              _br=MockPixivBrowser(1))
     self.assertEqual(len(urls), 1)
     # print(urls[0])
     self.assertGreater(len(urls[0]), 0)
     imageId = urls[0].split('/')[-1].split('_')[0]
     # print('imageId:',imageId)
     self.assertEqual(int(imageId), 62670665)
Exemplo n.º 9
0
    def testPixivImageParseInfoPixivPremiumOffer(self):
        p = open(
            './test.new/test-image-parse-image-38826533-pixiv-premium.html',
            'r')
        page = BeautifulSoup(p.read())
        image2 = PixivImage(38826533, page)
        page.decompose()
        del page

        self.assertEqual(image2.imageId, 38826533)
        self.assertEqual(image2.imageTitle, u"てやり")
        self.assertEqual(image2.imageCaption, u'一応シーダ様です。')

        self.assertTrue(u'R-18' in image2.imageTags)
        self.assertTrue(u'FE' in image2.imageTags)
        self.assertTrue(u'ファイアーエムブレム' in image2.imageTags)
        self.assertTrue(u'シーダ' in image2.imageTags)

        self.assertEqual(image2.imageMode, "big")
        self.assertEqual(image2.worksDate, '9/30/2013 01:43')
        self.assertEqual(image2.worksResolution, '1000x2317')
        self.assertEqual(image2.worksTools, 'CLIP STUDIO PAINT')
        # self.assertEqual(image2.jd_rtv, 88190)
        # self.assertEqual(image2.jd_rtc, 6711)
        # self.assertEqual(image2.jd_rtt, 66470)
        self.assertEqual(image2.artist.artistToken, 'hvcv')
Exemplo n.º 10
0
    def testPixivImageParseInfo(self):
        p = open('./test/test-image-info.html', 'r')
        page = BeautifulSoup(p.read())
        image2 = PixivImage(32039274, page)
        page.decompose()
        del page

        self.assertEqual(image2.imageId, 32039274)
        self.assertEqual(image2.imageTitle, u"新しいお姫様")
        self.assertTrue(len(image2.imageCaption) > 0)
        # print(u"\r\nCaption = {0}".format(image2.imageCaption))

        self.assertTrue(u'MAYU' in image2.imageTags)
        self.assertTrue(u'VOCALOID' in image2.imageTags)
        self.assertTrue(u'VOCALOID3' in image2.imageTags)
        self.assertTrue(u'なにこれかわいい' in image2.imageTags)
        self.assertTrue(u'やはり存在する斧' in image2.imageTags)

        self.assertEqual(image2.imageMode, "big")
        self.assertEqual(image2.worksDate, '12/10/12 15:23')
        self.assertEqual(image2.worksResolution, '642x900')
        # self.assertEqual(image2.worksTools, 'Photoshop SAI')
        # self.assertEqual(image2.jd_rtv, 88190)
        # self.assertEqual(image2.jd_rtc, 6711)
        # self.assertEqual(image2.jd_rtt, 66470)
        self.assertEqual(image2.artist.artistToken, 'nardack')
Exemplo n.º 11
0
 def testPixivImageNoImageEng(self):
     # print('\nTesting image page - no image')
     p = open('./test/test-image-noimage-eng.htm', 'r')
     page = BeautifulSoup(p.read())
     with self.assertRaises(PixivException):
         PixivImage(123, page)
     page.decompose()
     del page
Exemplo n.º 12
0
 def testPixivImageDeleted(self):
     # print('\nTesting image page - deleted image')
     p = open('./test/test-image-deleted.htm', 'r')
     page = as_soup(p.read())
     with self.assertRaises(PixivException):
         PixivImage(123, page)
     page.decompose()
     del page
Exemplo n.º 13
0
 def testPixivImageServerError2(self):
     # print('\nTesting image page')
     p = open('./test/test-image-generic-error.html', 'r')
     page = as_soup(p.read())
     with self.assertRaises(PixivException) as ex:
         image = PixivImage(37882549, page)
     self.assertEqual(ex.exception.errorCode, PixivException.UNKNOWN_IMAGE_ERROR)
     page.decompose()
     del page
Exemplo n.º 14
0
 def testPixivImageNoLogin(self):
     # print('\nTesting not logged in')
     p = open('./test/test-image-nologin.htm', 'r')
     page = BeautifulSoup(p.read())
     try:
         image = PixivImage(9138317, page)
         self.assertRaises(PixivException)
     except PixivException as ex:
         self.assertEqual(ex.errorCode, PixivException.NOT_LOGGED_IN)
Exemplo n.º 15
0
 def testPixivImageServerError(self):
     # print('\nTesting image page')
     p = open('./test/test-server-error.html', 'r')
     page = BeautifulSoup(p.read())
     with self.assertRaises(PixivException) as ex:
         image = PixivImage(9138317, page)
     self.assertEqual(ex.exception.errorCode, PixivException.SERVER_ERROR)
     page.decompose()
     del page
Exemplo n.º 16
0
    def testGuroPageEng(self):
        try:
            path = './test/test-image-guro-e.html'
            p = open(path, 'r')
            page = as_soup(p.read())
            image = PixivImage(31111130, page)

            self.assertRaises(PixivException)
        except PixivException as ex:
            self.assertEqual(ex.errorCode, 2005)
Exemplo n.º 17
0
    def testEroPageEng(self):
        try:
            path = './test/test-image-ero-e.html'
            p = open(path, 'r')
            page = BeautifulSoup(p.read())
            image = PixivImage(31115956, page)

            self.assertRaises(PixivException)
        except PixivException as ex:
            self.assertEqual(ex.errorCode, 2005)
Exemplo n.º 18
0
    def testMyPickPage(self):
        try:
            path = './test/test-image-my_pick.html'
            p = open(path, 'r')
            page = BeautifulSoup(p.read())
            image = PixivImage(12467674, page)

            self.assertRaises(PixivException)
        except PixivException as ex:
            self.assertEqual(ex.errorCode, 2004)
Exemplo n.º 19
0
    def testPixivImageModeManga(self):
        # print('\nTesting image page - manga')
        p = open('./test/test-image-manga.htm', 'r')
        page = BeautifulSoup(p.read())
        image = PixivImage(28820443, page)
        page.decompose()
        del page

        self.assertNotEqual(image, None)
        self.assertEqual(image.imageId, 28820443)
        self.assertEqual(image.imageMode, 'manga')
Exemplo n.º 20
0
    def testPixivImageRateCount(self):
        p = open('./test/test-image-rate_count.htm', 'r')
        page = BeautifulSoup(p.read())
        image = PixivImage(28865189, page)
        page.decompose()
        del page

        self.assertNotEqual(image, None)
        self.assertEqual(image.imageId, 28865189)
        self.assertEqual(image.imageMode, 'manga')
        self.assertTrue(image.jd_rtv > 0)
        self.assertTrue(image.jd_rtc > 0)
Exemplo n.º 21
0
    def testCreateFilenameUnicode(self):
        p = open('./test/test-image-unicode.htm', 'r')
        page = BeautifulSoup(p.read())
        imageInfo = PixivImage(2493913, page)
        page.decompose()
        del page

        nameFormat = '%member_token% (%member_id%)\%urlFilename% %works_date_only% %works_res% %works_tools% %title%'
        expected = unicode(u'balzehn (267014)\\2493913 12-23-2008 852x1200 Photoshop SAI つけペン アラクネのいる日常2.jpg')
        result = PixivHelper.makeFilename(nameFormat, imageInfo, artistInfo=None, tagsSeparator=' ', fileUrl='http://i2.pixiv.net/img16/img/balzehn/2493913.jpg')
        # print(result)
        self.assertEqual(result, expected)
Exemplo n.º 22
0
    def testPixivImageUnicode(self):
        # print('\nTesting image page - big')
        p = open('./test/test-image-unicode.htm', 'r')
        page = BeautifulSoup(p.read())
        image = PixivImage(2493913, page)
        page.decompose()
        del page

        self.assertNotEqual(image, None)
        self.assertEqual(image.imageId, 2493913)
        self.assertEqual(image.imageMode, 'big')
        self.assertEqual(image.worksDate, '12/23/08 12:01')
        self.assertEqual(image.worksResolution, '852x1200')
Exemplo n.º 23
0
    def testPixivImageParseNoTags(self):
        p = open('./test/test-image-no_tags.htm', 'r')
        page = BeautifulSoup(p.read())
        image = PixivImage(9175987, page)
        page.decompose()
        del page

        self.assertNotEqual(image, None)
        self.assertEqual(image.imageId, 9175987)
        self.assertEqual(image.worksDate, '03/05/10 18:04')
        self.assertEqual(image.worksResolution, '1155x768')
        # self.assertEqual(image.worksTools, u'SAI')
        self.assertEqual(image.imageTags, [])
Exemplo n.º 24
0
 def testPixivImageNoAvatar(self):
     # print('\nTesting artist page without avatar image')
     p = open('./test/test-image-noavatar.htm', 'r')
     page = BeautifulSoup(p.read())
     image = PixivImage(20496355, page)
     page.decompose()
     del page
     # self.assertNotEqual(image, None)
     self.assertEqual(image.artist.artistToken, 'iymt')
     self.assertEqual(image.imageId, 20496355)
     # 07/22/2011 03:09|512×600|RETAS STUDIO 
     # print(image.worksDate, image.worksResolution, image.worksTools)
     self.assertEqual(image.worksDate, '07/21/11 18:09')
     self.assertEqual(image.worksResolution, '512x600')
Exemplo n.º 25
0
    def testCreateMangaFilename(self):
        p = open('./test/test-image-manga.htm', 'r')
        page = BeautifulSoup(p.read())
        imageInfo = PixivImage(28820443, page)
        imageInfo.imageCount = 100
        page.decompose()
        del page
        # print(imageInfo.PrintInfo())
        nameFormat = '%member_token% (%member_id%)\%urlFilename% %page_number% %works_date_only% %works_res% %works_tools% %title%'

        expected = unicode(u'ffei (554800)\\28865189_p0 001 7-23-2012 複数枚投稿 2P Photoshop C82おまけ本 「沙耶は俺の嫁」サンプル.jpg')
        result = PixivHelper.makeFilename(nameFormat, imageInfo, artistInfo=None, tagsSeparator=' ', fileUrl='http://i2.pixiv.net/img26/img/ffei/28865189_p0.jpg')
        # print(result)
        self.assertEqual(result, expected)

        expected = unicode(u'ffei (554800)\\28865189_p14 015 7-23-2012 複数枚投稿 2P Photoshop C82おまけ本 「沙耶は俺の嫁」サンプル.jpg')
        result = PixivHelper.makeFilename(nameFormat, imageInfo, artistInfo=None, tagsSeparator=' ', fileUrl='http://i2.pixiv.net/img26/img/ffei/28865189_p14.jpg')
        # print(result)
        self.assertEqual(result, expected)

        expected = unicode(u'ffei (554800)\\28865189_p921 922 7-23-2012 複数枚投稿 2P Photoshop C82おまけ本 「沙耶は俺の嫁」サンプル.jpg')
        result = PixivHelper.makeFilename(nameFormat, imageInfo, artistInfo=None, tagsSeparator=' ', fileUrl='http://i2.pixiv.net/img26/img/ffei/28865189_p921.jpg')
        # print(result)
        self.assertEqual(result, expected)
Exemplo n.º 26
0
    def testPixivImageRateCount(self):
        p = open('./test.new/test-image-rate_count.htm', 'r')
        page = BeautifulSoup(p.read())
        image = PixivImage(28865189, page)
        page.decompose()
        del page

        self.assertNotEqual(image, None)
        self.assertEqual(image.imageId, 28865189)
        self.assertEqual(image.imageMode, 'manga')
        self.assertTrue(image.jd_rtv > 0)
        self.assertTrue(image.jd_rtc > 0)
        # deprecated since 11-April-2017
        # self.assertTrue(image.jd_rtt > 0)
        self.assertEqual(image.worksTools, "Photoshop")
Exemplo n.º 27
0
    def testPixivImageParseTags(self):
        p = open('./test/test-image-parse-tags.htm', 'r')
        page = BeautifulSoup(p.read())
        image = PixivImage(11164869, page)
        page.decompose()
        del page

        self.assertNotEqual(image, None)
        self.assertEqual(image.imageId, 11164869)
        self.assertEqual(image.worksDate, '06/08/10 17:33')
        self.assertEqual(image.worksResolution, '1009x683')
        # self.assertEqual(image.worksTools, u'SAI')
        # print(image.imageTags)
        joinedResult = " ".join(image.imageTags)
        self.assertEqual(joinedResult.find("VOCALOID") > -1, True)
Exemplo n.º 28
0
    def testPixivImageParseInfo2(self):
        p = open('./test/test-image-manga-69287623.htm', 'r')
        page = as_soup(p.read())
        image2 = PixivImage(69287623, page)
        page.decompose()
        del page

        self.assertEqual(image2.imageId, 69287623)
        self.assertEqual(image2.imageTitle, "「ふふっ」漫画 その9")

        self.assertTrue('漫画' in image2.imageTags)

        self.assertEqual(image2.imageMode, "manga")
        self.assertEqual(image2.worksDate, '06/17/18 23:16')
        self.assertEqual(image2.worksResolution, 'Multiple images: 2P')
        self.assertEqual(image2.artist.artistToken, 'komesama')
Exemplo n.º 29
0
    def testPixivImageParseInfoSelf(self):
        # assuming being accessed via manage page for your own artwork.
        p = open('./test/test-image-selfimage.htm', 'r')
        page = BeautifulSoup(p.read())
        image2 = PixivImage(65079382, page)
        page.decompose()
        del page

        self.assertEqual(image2.imageId, 65079382)
        self.assertEqual(image2.imageTitle, u"Test")
        self.assertTrue(len(image2.imageCaption) > 0)
        # print(u"\r\nCaption = {0}".format(image2.imageCaption))

        self.assertTrue(u'None' in image2.imageTags)

        self.assertEqual(image2.imageMode, "big")
        self.assertEqual(image2.worksDate, '09/22/17 02:29')
        self.assertEqual(image2.worksResolution, '946x305')
Exemplo n.º 30
0
    def testPixivImageParseMangaInfoMixed(self):
        # print('\nTesting parse Manga Images')
        # Issue #224
        p = open('./test/test-image-big-manga-mixed.html', 'r')
        page = as_soup(p.read())
        image = PixivImage(iid=67487303, page=page)
        # image.PrintInfo()

        self.assertTrue('R-18' in image.imageTags)
        self.assertTrue('Fate/EXTRA' in image.imageTags)
        self.assertTrue('ネロ・クラウディウス' in image.imageTags)
        self.assertTrue('腋' in image.imageTags)
        self.assertTrue('クリチラ' in image.imageTags)
        self.assertTrue('おっぱい' in image.imageTags)
        self.assertTrue('Fate/EXTRA_Last_Encore' in image.imageTags)

        self.assertEqual(image.imageMode, "manga")
        self.assertEqual(image.worksDate, '02/27/18 03:31')
        self.assertEqual(image.worksResolution, 'Multiple images: 2P')
        # self.assertEqual(image.worksTools, 'SAI')
        self.assertEqual(image.artist.artistToken, 's33127')
Exemplo n.º 31
0
    def testPixivImageParseInfoMixed(self):
        p = open('./test/test-image-info2.html', 'r')
        page = BeautifulSoup(p.read())
        image2 = PixivImage(67729319, page)
        page.decompose()
        del page

        # image2.PrintInfo()

        self.assertEqual(image2.imageId, 67729319)
        self.assertEqual(image2.imageTitle, u"独り言")
        self.assertTrue(len(image2.imageCaption) > 0)
        # print(u"\r\nCaption = {0}".format(image2.imageCaption))

        self.assertTrue(u'FGO' in image2.imageTags)
        self.assertTrue(u'ネロ・クラウディウス' in image2.imageTags)
        self.assertTrue(u'セイバー・ブライド' in image2.imageTags)

        self.assertEqual(image2.imageMode, "big")
        self.assertEqual(image2.worksDate, '03/14/18 09:00')
        self.assertEqual(image2.worksResolution, '721x1200')
        self.assertEqual(image2.artist.artistToken, 'kawanocyan')