summaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/toyhouse.py
diff options
context:
space:
mode:
Diffstat (limited to 'gallery_dl/extractor/toyhouse.py')
-rw-r--r--gallery_dl/extractor/toyhouse.py28
1 files changed, 16 insertions, 12 deletions
diff --git a/gallery_dl/extractor/toyhouse.py b/gallery_dl/extractor/toyhouse.py
index 78ff265..64fa951 100644
--- a/gallery_dl/extractor/toyhouse.py
+++ b/gallery_dl/extractor/toyhouse.py
@@ -77,23 +77,27 @@ class ToyhouseExtractor(Extractor):
cnt += 1
yield self._parse_post(post)
- if cnt == 0 and params["page"] == 1:
- token, pos = text.extract(
- page, '<input name="_token" type="hidden" value="', '"')
- if not token:
- return
- data = {
- "_token": token,
- "user" : text.extract(page, 'value="', '"', pos)[0],
- }
- self.request(self.root + "/~account/warnings/accept",
- method="POST", data=data, allow_redirects=False)
- continue
+ if not cnt and params["page"] == 1:
+ if self._accept_content_warning(page):
+ continue
+ return
if cnt < 18:
return
params["page"] += 1
+ def _accept_content_warning(self, page):
+ pos = page.find(' name="_token"') + 1
+ token, pos = text.extract(page, ' value="', '"', pos)
+ user , pos = text.extract(page, ' value="', '"', pos)
+ if not token or not user:
+ return False
+
+ data = {"_token": token, "user": user}
+ self.request(self.root + "/~account/warnings/accept",
+ method="POST", data=data, allow_redirects=False)
+ return True
+
class ToyhouseArtExtractor(ToyhouseExtractor):
"""Extractor for artworks of a toyhouse user"""