helpers.py -> sanitize_filename a bit too optimistic
Bug description
helpers.py -> sanitize_filename uses a hash of the filename if the length of the filename is more than 48 characters. If it's less than 48 characters, it attempts to sanitize the path. If the OS is not a Windows NT-derivative, all it does is replace '/' with '_'. How about nullbytes, newlines (and whitespace in general), quotes, backticks, dollar signs, #, backslashes, &-signs, (), {}, !, ?, |, *, -, <>, =, ; and other characters that are bound to fuck things up? Since the hash is a fallback, I assume using a hash works - would there be any downsides to just using a hash for all filenames? If not, I suggest we do that instead. If there are we should look into escaping more thoroughly (whitelisting?)