diff options
| author | 2022-07-16 00:39:25 -0400 | |
|---|---|---|
| committer | 2022-07-16 00:39:25 -0400 | |
| commit | ae2a0f5622beaa6f402526f8a7b939419283a090 (patch) | |
| tree | df1ee84f90167211ae4817606fe6e7380abb67b1 /gallery_dl/extractor/newgrounds.py | |
| parent | ce35450b5308adab049c5bd99095986d4c607027 (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.py | 17 |
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] == "/": |
