summaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/newgrounds.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2022-07-16 00:39:25 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2022-07-16 00:39:25 -0400
commitae2a0f5622beaa6f402526f8a7b939419283a090 (patch)
treedf1ee84f90167211ae4817606fe6e7380abb67b1 /gallery_dl/extractor/newgrounds.py
parentce35450b5308adab049c5bd99095986d4c607027 (diff)
New upstream version 1.22.4.upstream/1.22.4
Diffstat (limited to 'gallery_dl/extractor/newgrounds.py')
-rw-r--r--gallery_dl/extractor/newgrounds.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/gallery_dl/extractor/newgrounds.py b/gallery_dl/extractor/newgrounds.py
index e9fde97..d9ab336 100644
--- a/gallery_dl/extractor/newgrounds.py
+++ b/gallery_dl/extractor/newgrounds.py
@@ -72,6 +72,8 @@ class NewgroundsExtractor(Extractor):
"""Return general metadata"""
def login(self):
+ if self._check_cookies(self.cookienames):
+ return
username, password = self._get_auth_info()
if username:
self._update_cookies(self._login_impl(username, password))
@@ -81,10 +83,13 @@ class NewgroundsExtractor(Extractor):
self.log.info("Logging in as %s", username)
url = self.root + "/passport/"
- page = self.request(url).text
- headers = {"Origin": self.root, "Referer": url}
+ response = self.request(url)
+ if response.history and response.url.endswith("/social"):
+ return self.session.cookies
- url = text.urljoin(self.root, text.extract(page, 'action="', '"')[0])
+ headers = {"Origin": self.root, "Referer": url}
+ url = text.urljoin(self.root, text.extract(
+ response.text, 'action="', '"')[0])
data = {
"username": username,
"password": password,
@@ -260,7 +265,11 @@ class NewgroundsExtractor(Extractor):
msg = ", ".join(text.unescape(e) for e in data["errors"])
raise exception.StopExtraction(msg)
- for year, items in data["items"].items():
+ items = data.get("items")
+ if not items:
+ return
+
+ for year, items in items.items():
for item in items:
page_url = text.extract(item, 'href="', '"')[0]
if page_url[0] == "/":