diff options
| author | 2024-08-12 02:42:43 -0400 | |
|---|---|---|
| committer | 2024-08-12 02:42:43 -0400 | |
| commit | 5fd4ef85296d95ae7d4547feaf9729ad8ce52893 (patch) | |
| tree | 0836b5465e6276f3001459a7e8e7445d190148ff /gallery_dl/extractor/behance.py | |
| parent | ca051dc5aa2bf035a7b82975564abd88d79096ba (diff) | |
| parent | b5e56c51e491b41f9eb6a895459c185788a377e5 (diff) | |
Update upstream source from tag 'upstream/1.27.3'
Update to upstream version '1.27.3'
with Debian dir 79448c635909113c80b387fc5241f5b74402527c
Diffstat (limited to 'gallery_dl/extractor/behance.py')
| -rw-r--r-- | gallery_dl/extractor/behance.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/gallery_dl/extractor/behance.py b/gallery_dl/extractor/behance.py index f24059f..72f9195 100644 --- a/gallery_dl/extractor/behance.py +++ b/gallery_dl/extractor/behance.py @@ -49,7 +49,7 @@ class BehanceExtractor(Extractor): def _update(self, data): # compress data to simple lists - if data["fields"] and isinstance(data["fields"][0], dict): + if data.get("fields") and isinstance(data["fields"][0], dict): data["fields"] = [ field.get("name") or field.get("label") for field in data["fields"] @@ -165,6 +165,19 @@ class BehanceGalleryExtractor(BehanceExtractor): elif mtype == "video": try: + url = text.extr(module["embed"], 'src="', '"') + page = self.request(text.unescape(url)).text + + url = text.extr(page, '<source src="', '"') + if text.ext_from_url(url) == "m3u8": + url = "ytdl:" + url + module["extension"] = "mp4" + append((url, module)) + continue + except Exception as exc: + self.log.debug("%s: %s", exc.__class__.__name__, exc) + + try: renditions = module["videoData"]["renditions"] except Exception: self.log.warning("No download URLs for video %s", |
