Commit Graph
26 Commits
Author SHA1 Message Date
lllusion3469 5c2ecee60f uploads: memoize dimensions of flash files
flash files can be quite big (the biggest on danbooru.donmai.us being
68.6MB atm). Reading it and applying complex transformations twice seems
unnecessary.
2020-05-25 18:58:48 +02:00
lllusion3469 b2814c1125 uploads: fix getting dimensions of flash files
MediaFile#dimensions is called twice - in #width and in #height but
it only works on the first call because the file is read to the end and
consumed the first time so when #read is called the second time it only
returns the empty string
2020-05-25 18:51:36 +02:00
lllusion3469 45ae8bfb6f deviantart: support non-downloadable videos 2020-05-11 19:51:04 +02:00
lllusion3469 40fa985e26 deviantart: use #at_css instead of #search
only one result needed, query is css
2020-05-11 19:51:04 +02:00
lllusion3469 9dccee1d5e stash: fix tests
checking image_urls isn't necessary as it's [image_url] per definition
2020-05-11 19:51:04 +02:00
lllusion3469 0c180b521c deviantart: avoid download api call if not downloadable
because it's included in api_response which is part of /source.json
2020-05-11 19:51:04 +02:00
lllusion3469 70beb7288d rubocop: fix various issues 2020-05-11 19:51:04 +02:00
lllusion3469 0d5e31868f deviantart: fix non-downloadable flash files 2020-05-11 19:51:04 +02:00
lllusion3469 46e9f2dede deviantart: switch to Danbooru::Http
httprb doesn't seem to support a base_uri parameter so use URI.join with
a relative path instead
2020-05-11 16:11:15 +02:00
lllusion3469 2794cd254d deviantart: return nil on failure instead of ""
was also part of eba6440b8b
2020-05-11 16:11:15 +02:00
lllusion3469 413227e7de deviantart: remove #api_url
similar change in eba6440b8b

in case of #page it may get rid of the redirect if artist and title are
found
2020-05-11 16:11:15 +02:00
lllusion3469 c4a403afca deviantart: remove unreachable else
api_deviation is either #blank? (if condition) or #present?

was also part of eba6440b8b
2020-05-11 16:11:14 +02:00
lllusion3469 f4b4e12235 deviantart: use image_url as it's a single image 2020-05-11 16:10:56 +02:00
lllusion3469 769bf87a4a deviantart: don't apply /intermediary/ hack for gifs
gifs are always stored as original anyways so the /intermediary/ url
doesn't actually exist for gifs

example:
https://www.deviantart.com/heartgear/art/Silent-Night-579982816
2020-05-11 16:10:33 +02:00
lllusion3469 c2e86385a3 deviantart: don't strip metadata
was also part of eba6440b8b
2020-05-11 16:10:33 +02:00
lllusion3469 1a49ef46f9 deviantart: cache refresh token for 11 weeks
it's valid for 3 months according to this:
https://www.deviantart.com/developers/authentication#refresh

use 11 weeks instead to be safe
2020-05-11 16:10:33 +02:00
lllusion3469 f58564a71f deviantart: don't rewrite download url
it's all handled through something like
https://api-da.wixmp.com/_api/download/file?downloadToken=$TOKEN
now so those modifications aren't necessary anymore.
In fact, the one to "strip s3 query params" removes the token, breaking
the download url.
2020-05-11 16:10:32 +02:00
lllusion3469 9205c32424 deviantart: revert to 7f482dc35b
that's the latest commit made to deviantart files before switching from
the developer API to the Javascript backend from the new "Eclipse"
frontend.
This is necessary because it's basically impossible to download posts
now with the JS backend without being logged in, i.e. having the cookies
from a logged in user, which can't be used for very long even if
exporting them from a browser. You would have to save the cookies
deviantart sends you back via the "Set-Cookie" header in a database
somewhere in addition to the other added complexity.

also
* (temporarily) replace HttpartyCache with HTTParty as it's long been
  removed
* fix one case of "last argument as keyword parameter"
* change repository url (5d1a1cc87e)
* remove self-explanatory comment
2020-05-11 16:09:00 +02:00
lllusion3469 65fb0cf510 tumblr: pick biggest image based on resolution
photo[:alt_sizes] may contain a bigger image than
photo[:original_size]

fixes #4324
2020-04-08 16:42:17 +02:00
lllusion3469 9e8740f746 Show deleted posts for favorite groups
also link to the proper post search with status:any

fixes #4347
2020-04-07 17:16:38 +02:00
lllusion3469 eb564a4ef2 Show or hide post vote buttons when (un)favoriting
When favoriting/unfavoriting a post, it would also be upvoted/"un"voted
but the upvote/downvote/undo vote buttons would stay shown/hidden as
they were before unlike when pressing those buttons.

For example when you want change from favorite to merely upvoted you
would have to reload the page in between.
2020-04-07 02:15:21 +02:00
lllusion3469 090671cedf fix leftover reference to Artist.notes 2020-02-18 21:42:52 +01:00
lllusion3469 b15fd6d017 Fix Ugoiras when image cropping is disabled
since file is nil and has no #close! when Danbooru.config.enable_image_cropping is false
2019-08-17 19:52:23 -05:00
lllusion3469 e21f067fab #3767: Prioritize md5 check over source download
in case both an upload from disk and a source were specified, this caused
an md5 mismatch error to be thrown
2018-12-14 22:23:47 +01:00
lllusion3469 0502f3ece1 Make dropzone accept mp4, webm, and swf files
to match the rest of the code base

For flash files I've used the file extension because the mime type is browser
specific and I've found at least 2 different variations for .swf:
1. `application/vnd.adobe.flash-movie`: wikipedia
2. `application/vnd.adobe.flash.movie`: mailcap, firefox
some other browser may not even know the .swf extension in the first place
2018-07-03 18:53:34 +02:00
lllusion3469 4c3733ce5a Keep auth_secure cookie from deviantart
Unlike this projects, all other DA scrapers I found[0] require that both
"auth" and "auth_secure" are set.
While the current approach, for some reason, seems to have worked fine in
the past, it has stopped functioning on some systems, sometimes
permanently (apparently sometimes only temporarily).
I don't have the means to find out the reason behind that, since all
configurations I've tried (mobile, VPN, and regular connection +
4 seperate accounts) resulted in me being effectively logged out and
unable to view mature works after deleting the "auth_secure" cookie.
The "if auth_cookie" part might not actually be necessary, its only
purpose is to prevent unintended breakage due to lack of information
on my part.

[0]: https://github.com/4pr0n/ripme/commit/b662b46a44a087af316953b10aee537397f2fa2a#diff-aab4e263d591d1c7f23d015a2e540a32R161
     https://github.com/fake-name/xA-Scraper/commit/cbaecf55071de8ff40d21af514b48e5557c6a838#diff-9f9821e7d744874a2fe42e0a69e4b14aR33
2017-08-30 20:47:59 +02:00