-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deviantart | Gallery-dl only downloading Journals and not Polls, Status Updates, from User Posts #3539
Comments
Can confirm gallery-dl doesn't support these types yet. I'm working on this, but the situation seems to be rather complicated:
|
I've added support for some status posts (#3541). The executables can be found here: You can try this out by using Please let me know if you find any bugs or have suggestions on how this could be improved (apart from the currently missing features). |
Thank you so much; it worked amazingly! That was also pretty quick with the update. |
No problem. I think you closed the issue too soon, though. I'm not the maintainer of the repo and this hasn't been merged into master yet. I'm still working on it. |
When encountering posts that contain neither "deviation" or "status" in the status type, it throws a "KeyError" when searching for either key, namely, "deviation" or "status". In the section starting at line 787 in deviantart.py, the problem occurs when "gallery" is in |
Hm, the official documentation made no mention of the |
This is one of the accounts that did it, but no longer does? Instead now it looks like this: |
Found one: Here it can't find "status". But it will find "gallery" if you tell if to search for that.
But I suspect it should be handled in a better way. I'm not sure how many posts it misses using this that it shouldn't. |
Got "items": [
{
"type": "thumb_background_deviation"
}
] The error should be fixed in c4aeca7, and unexpected fields will simply be ignored for now (you can enable the metadata postprocessor if you don't want to lose this information). |
Thanks for the update! Now when I get the version from yesterday to print, it says |
You can specify "deviantart": {
"status": {
...
}
} I assume people tend to share their own deviations in status updates, and that's why |
Not sure if this is possible with that. I see I didn't explain the problem correctly. The images that come from the user's "stash" are placed in the user's root while the statuses are kept in "Status". At the time of describing the problem I didn't know the images came from the user's "stash", but after seeing that is the case, I'm not so sure if the problem I raised is actually a problem. eg. If someone wants to keep all the stash files separate from all other items. I did notice something else that may be a minor problem if someone is concerned with preventing duplicates. Images from artists who are not the poster of the status update are placed into the poster's "Status" subdirectory rather than the original artist's directory. The metadata of the status updates appear to be enough for someone to be able to create softlinks across different artists, so having some switch to always "respect des fonds" will still allow consistent access. These images I'm referring to all seem to have this in their metadata:
Still, this is a very minor problem as it seems very rare for this to occur, and we're talking like under 20MB of duplicates per artist. |
Yeah, it's been like that since the beginning. After using gallery-dl for a while I decided to change the directory format to You might see some stashed deviations in the "Status" folder as well, and that's because shared deviations are directly extracted by the "deviantart": {
"stash": {
"directory" : ["{username}", "Stash"]
},
"status": {
"directory": {
"'sta.sh' in url": ["{username}", "Stash"],
"": ["{username}", "Status"]
}
}
}
This can also be achieved through configuration, thanks to gallery-dl's flexibility in this regard. "deviantart": {
"status": {
"directory": ["{author[username]}", "Status"]
}
} Or even: "deviantart": {
"status": {
"directory": {
"author[username] != username": ["{author[username]}", "shared"],
"": ["{username}", "Status"]
}
}
} |
Holy smokes you are a genius! I'll get on applying this after I get some sleep |
By the way, if you would like to minimize the chance of getting duplicate files, you can check out the archive function. I personally recommend including |
For the earlier post, this seems to achieve what I need:
I can still create links to the correct files from the status update despite the target image being somewhere else using:
included in the metadata, respecting the fonds and preventing duplicates. For your last post, I currently do use the archive file, but that's cool you can tell it how to store the info. Also is there any downside you know of to using |
There really shouldn't be any. One thing that I can think of is that for posts without I'd also recommend getting a SQLite viewer so you can verify that your |
I see what you're saying since there are some files with an index of 0. Perhaps using |
Nevermind Edit: |
For now it's possible to use
It's purely theoretical. |
Have you actually seen that happening? I always thought it was to prevent the program from crashing in case the API returned something unexpected. It was an issues during development, but it should've been fixed by 013733c. |
Yes, actually. These posts in particular: |
Maybe you forgot to update to the latest commit? I can't reproduce the issue on 013733c. |
Oh yeah that fixed it. |
I am attempting to download all posts made by some artists on Deviantart. However in the "Posts" page it only grabs the "Journals" and excludes "Polls" and "Status Updates". Attempting to use a direct link such as "https://www.deviantart.com/<user>/posts/polls" returns
[gallery-dl][error] Unsupported URL '<URL>'
even though those posts exist. Using the option--list-keywords
also does not show any sign of these other posts.I use Windows 10, gallery-dl pip version 1.24.2, and the related settings in my config are:
Removing "journal" from "include" also does not work.
I have attached the verbose of one of my runs.
verbose-t1na-posts.txt
The text was updated successfully, but these errors were encountered: