aboutsummaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/behance.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2019-08-04 17:53:04 -0400
committerLibravatarUnit 193 <unit193@ubuntu.com>2019-08-04 17:53:04 -0400
commit09e19cd4b63183a3cc38cea7bc5c5b8d308d22fa (patch)
tree2ef7e5afcc539bf5ca7fc2a0c525709b41e309d7 /gallery_dl/extractor/behance.py
parent1d18be9fc5a9d6577eb1bbb5f9a135bfa0ce0495 (diff)
parent64ad8e7bd15df71ab1116eede414558631bcad32 (diff)
Update upstream source from tag 'upstream/1.10.1'
Update to upstream version '1.10.1' with Debian dir 81401e5e3e324250ded90d4caf7bf60cd0b9affb
Diffstat (limited to 'gallery_dl/extractor/behance.py')
-rw-r--r--gallery_dl/extractor/behance.py22
1 files changed, 12 insertions, 10 deletions
diff --git a/gallery_dl/extractor/behance.py b/gallery_dl/extractor/behance.py
index 111d560..467a935 100644
--- a/gallery_dl/extractor/behance.py
+++ b/gallery_dl/extractor/behance.py
@@ -30,7 +30,8 @@ class BehanceExtractor(Extractor):
@staticmethod
def _update(data):
# compress data to simple lists
- data["fields"] = [field["name"] for field in data["fields"]]
+ if data["fields"] and isinstance(data["fields"][0], dict):
+ data["fields"] = [field["name"] for field in data["fields"]]
data["owners"] = [owner["display_name"] for owner in data["owners"]]
if "tags" in data:
data["tags"] = [tag["title"] for tag in data["tags"]]
@@ -140,11 +141,11 @@ class BehanceUserExtractor(BehanceExtractor):
def galleries(self):
url = "{}/{}/projects".format(self.root, self.user)
- headers = {"X-Requested-With": "XMLHttpRequest"}
params = {"offset": 0}
+ headers = {"X-Requested-With": "XMLHttpRequest"}
while True:
- data = self.request(url, headers=headers, params=params).json()
+ data = self.request(url, params=params, headers=headers).json()
work = data["profile"]["activeSection"]["work"]
yield from work["projects"]
if not work["hasMore"]:
@@ -157,8 +158,8 @@ class BehanceCollectionExtractor(BehanceExtractor):
subcategory = "collection"
categorytransfer = True
pattern = r"(?:https?://)?(?:www\.)?behance\.net/collection/(\d+)"
- test = ("https://www.behance.net/collection/170615607/Sky", {
- "count": ">= 13",
+ test = ("https://www.behance.net/collection/71340149/inspiration", {
+ "count": ">= 145",
"pattern": BehanceGalleryExtractor.pattern,
})
@@ -168,12 +169,13 @@ class BehanceCollectionExtractor(BehanceExtractor):
def galleries(self):
url = "{}/collection/{}/a".format(self.root, self.collection_id)
+ params = {"offset": 0}
headers = {"X-Requested-With": "XMLHttpRequest"}
- params = {}
while True:
- data = self.request(url, headers=headers, params=params).json()
- yield from data["output"]
- if not data.get("offset"):
+ data = self.request(url, params=params, headers=headers).json()
+ for item in data["items"]:
+ yield item["project"]
+ if len(data["items"]) < 40:
return
- params["offset"] = data["offset"]
+ params["offset"] += len(data["items"])