From a437e786200946d508df84988aacc0bebd36ce67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Tue, 5 Nov 2019 17:58:10 +0100 Subject: [PATCH] [deviantart] minimize cookie usage during scraps extraction (#445) --- gallery_dl/extractor/deviantart.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gallery_dl/extractor/deviantart.py b/gallery_dl/extractor/deviantart.py index bcbc560f..336b7bd7 100644 --- a/gallery_dl/extractor/deviantart.py +++ b/gallery_dl/extractor/deviantart.py @@ -801,6 +801,14 @@ class DeviantartScrapsExtractor(DeviantartExtractorV2): ) def deviations(self): + # copy self.session + session = self.session.__class__() + for attr in session.__attrs__: + setattr(session, attr, getattr(self.session, attr, None)) + + # reset cookies in the original session object + self.session.cookies = session.cookies.__class__() + url = self.root + "/_napi/da-user-profile/api/gallery/contents" params = { "username" : self.user, @@ -813,7 +821,8 @@ class DeviantartScrapsExtractor(DeviantartExtractorV2): } while True: - data = self.request(url, params=params, headers=headers).json() + data = self.request( + url, session=session, params=params, headers=headers).json() for obj in data["results"]: yield obj["deviation"]