summaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/newgrounds.py
diff options
context:
space:
mode:
Diffstat (limited to 'gallery_dl/extractor/newgrounds.py')
-rw-r--r--gallery_dl/extractor/newgrounds.py24
1 files changed, 17 insertions, 7 deletions
diff --git a/gallery_dl/extractor/newgrounds.py b/gallery_dl/extractor/newgrounds.py
index a6cc5fa..4fdfac9 100644
--- a/gallery_dl/extractor/newgrounds.py
+++ b/gallery_dl/extractor/newgrounds.py
@@ -29,6 +29,7 @@ class NewgroundsExtractor(Extractor):
Extractor.__init__(self, match)
self.user = match.group(1)
self.user_root = "https://{}.newgrounds.com".format(self.user)
+ self.flash = self.config("flash", True)
def items(self):
self.login()
@@ -92,18 +93,22 @@ class NewgroundsExtractor(Extractor):
}
def extract_post(self, post_url):
+
+ if "/art/view/" in post_url:
+ extract_data = self._extract_image_data
+ elif "/audio/listen/" in post_url:
+ extract_data = self._extract_audio_data
+ else:
+ extract_data = self._extract_media_data
+ if self.flash:
+ post_url += "/format/flash"
+
response = self.request(post_url, fatal=False)
if response.status_code >= 400:
return {}
page = response.text
extr = text.extract_from(page)
-
- if "/art/view/" in post_url:
- data = self._extract_image_data(extr, post_url)
- elif "/audio/listen/" in post_url:
- data = self._extract_audio_data(extr, post_url)
- else:
- data = self._extract_media_data(extr, post_url)
+ data = extract_data(extr, post_url)
data["_comment"] = extr('id="author_comments"', '</div>')
data["comment"] = text.unescape(text.remove_html(
@@ -313,6 +318,11 @@ class NewgroundsMediaExtractor(NewgroundsExtractor):
"user" : "zj",
},
}),
+ # flash animation (#1257)
+ ("https://www.newgrounds.com/portal/view/161181/format/flash", {
+ "pattern": r"https://uploads\.ungrounded\.net/161000"
+ r"/161181_ddautta_mask__550x281_\.swf\?f1081628129",
+ })
)
def __init__(self, match):