* unperson shadowbanned users
if a shadowbanned user copes, does anyone hear them seethe?
* unperson shadowbanned users (by id)
* don't import that
* Add include_blocks.
We don't always want to request blocks from the db when we have a user set
* block shadowbanned users from hole mod tools
* don't allow awarding shadowbanned things
* fix conflict
* gracefully use get_account when specified and also add include_blocks flag to get_account as well
* only attempt to parse HTML content types for titles
also don't try to get submission titles for .gifv, .tif, .tiff
* ratelimit to 3 per minute instead of 6 minutes
no one will ever need more than 3 requests to this endpoint per minute - justcool393
6 per minute is already kinda a lot for this endpoint, i think aggressively ratelimiting this one is fine, especially since it's a minute ratelimit
Touched a ton of files to finally standardize on having trailing
final newlines, as best practice recommends and so our devs stop
accidentally fighting each other over it.
This was performed automatically with the following:
git ls-files -z '*.py' | while IFS= read -rd '' f; \
do tail -c1 < "$f" | read -r _ || echo >> "$f"; done
git ls-files -z '*.css' | while IFS= read -rd '' f; \
do tail -c1 < "$f" | read -r _ || echo >> "$f"; done
This commit touches more files than it ought to because this change
required untangling some circular imports, notably a lingering import
of files.helpers.slots in helpers.actions (presumably from old Snappy
gambling logic) and the User.active_blackjack_game accessor. Otherwise,
the logic is fairly straightforward.
Apparently the /marseys route was getting its listdir from one of
the `from os import listdir` removed in fa4dee419d. static.py
already has an import os, so we just use the fully qualified
os.listdir.