From 37453a95288000c2ec78111f391194b1e09395cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Wed, 29 Jun 2022 11:46:07 +0200 Subject: [PATCH] [newgrounds] only login if necessary (#2715) --- gallery_dl/extractor/newgrounds.py | 11 ++++++++--- gallery_dl/version.py | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/gallery_dl/extractor/newgrounds.py b/gallery_dl/extractor/newgrounds.py index e9fde97c..e6c30eed 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, diff --git a/gallery_dl/version.py b/gallery_dl/version.py index 8ac7384f..eac09a63 100644 --- a/gallery_dl/version.py +++ b/gallery_dl/version.py @@ -6,4 +6,4 @@ # it under the terms of the GNU General Public License version 2 as # published by the Free Software Foundation. -__version__ = "1.22.3" +__version__ = "1.22.4-dev"