Skip to content

Commit

Permalink
[newgrounds] fix flash file extraction (closes #1257)
Browse files Browse the repository at this point in the history
… and add a 'flash' option to choose between flash and video formats.
  • Loading branch information
mikf committed Jan 19, 2021
1 parent 534194b commit 36f2813
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 7 deletions.
10 changes: 10 additions & 0 deletions docs/configuration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1116,6 +1116,16 @@ Description
the first in the list gets chosen (usually `mp3`).


extractor.newgrounds.flash
--------------------------
Type
``bool``
Default
``true``
Description
Download original Adobe Flash animations instead of pre-rendered videos.


extractor.newgrounds.include
----------------------------
Type
Expand Down
24 changes: 17 additions & 7 deletions gallery_dl/extractor/newgrounds.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ def __init__(self, match):
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()
Expand Down Expand Up @@ -92,18 +93,22 @@ def _login_impl(self, username, password):
}

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(
Expand Down Expand Up @@ -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):
Expand Down

0 comments on commit 36f2813

Please sign in to comment.