summaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/pururin.py
diff options
context:
space:
mode:
Diffstat (limited to 'gallery_dl/extractor/pururin.py')
-rw-r--r--gallery_dl/extractor/pururin.py21
1 files changed, 12 insertions, 9 deletions
diff --git a/gallery_dl/extractor/pururin.py b/gallery_dl/extractor/pururin.py
index 49c24bc..dee7bd4 100644
--- a/gallery_dl/extractor/pururin.py
+++ b/gallery_dl/extractor/pururin.py
@@ -6,20 +6,22 @@
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
-"""Extractors for https://pururin.io/"""
+"""Extractors for https://pururin.to/"""
from .common import GalleryExtractor
from .. import text, util
+import binascii
import json
class PururinGalleryExtractor(GalleryExtractor):
"""Extractor for image galleries on pururin.io"""
category = "pururin"
- pattern = r"(?:https?://)?(?:www\.)?pururin\.io/(?:gallery|read)/(\d+)"
+ pattern = r"(?:https?://)?(?:www\.)?pururin\.[ti]o/(?:gallery|read)/(\d+)"
test = (
- ("https://pururin.io/gallery/38661/iowant-2", {
- "pattern": r"https://cdn.pururin.io/\w+/images/data/\d+/\d+\.jpg",
+ ("https://pururin.to/gallery/38661/iowant-2", {
+ "pattern": r"https://cdn.pururin.[ti]o/\w+"
+ r"/images/data/\d+/\d+\.jpg",
"keyword": {
"title" : "re:I ?owant 2!!",
"title_en" : "re:I ?owant 2!!",
@@ -41,11 +43,12 @@ class PururinGalleryExtractor(GalleryExtractor):
"language" : "English",
}
}),
- ("https://pururin.io/gallery/7661/unisis-team-vanilla", {
+ ("https://pururin.to/gallery/7661/unisis-team-vanilla", {
"count": 17,
}),
+ ("https://pururin.io/gallery/38661/iowant-2"),
)
- root = "https://pururin.io"
+ root = "https://pururin.to"
def __init__(self, match):
self.gallery_id = match.group(1)
@@ -70,8 +73,8 @@ class PururinGalleryExtractor(GalleryExtractor):
url = "{}/read/{}/01/x".format(self.root, self.gallery_id)
page = self.request(url).text
- info = json.loads(text.unescape(text.extract(
- page, ':gallery="', '"')[0]))
+ info = json.loads(binascii.a2b_base64(text.extract(
+ page, '<gallery-read encoded="', '"')[0]).decode())
self._ext = info["image_extension"]
self._cnt = info["total_pages"]
@@ -97,6 +100,6 @@ class PururinGalleryExtractor(GalleryExtractor):
return data
def images(self, _):
- ufmt = "https://cdn.pururin.io/assets/images/data/{}/{{}}.{}".format(
+ ufmt = "https://cdn.pururin.to/assets/images/data/{}/{{}}.{}".format(
self.gallery_id, self._ext)
return [(ufmt.format(num), None) for num in range(1, self._cnt + 1)]