- deluge: b64encode returns bytes, transform into string before
serializing to JSON.
- deluge: no more need to try different encodings for the torrent
filename or the base64-encoded content, should all be unicode strings
with Python 3
- collections.abc: Iterable, Mapping, MutableMapping, MutableSequence
moved from collections to collections.abc since Python 3.3
- pygazelle: html.parser.HTMLParser().unescape() moved to
html.unescape() in Python 3.4
- Use a FL token when available
- Added a configuration (default off) to enable the feature
- Skip prefetching the data with Deluge as with Transmission in
`preprocess()`
- Note: because QBittorrent & uTorrent need the data to compute the
torrenthash but still require the url to download the file, it will
result in 2 FL tokens used instead of one because the .torrent will be
downloaded twice from the server.
Fixes#3163
This is a duplicate of albshin's PR as I got impatient waiting for him
to submit it to the develop branch with the addition of removing the
previous user agents and replacing them with Headphones as the agent.
Redacted considers falsifying the agent as a bannable offence.
From albshin's PR;
"Changes all instances of PassTheHeadphones to Redacted. Removed the URL
option for Redacted as it's unnecessary(?).
Fixed a bug in the pyGazelle library in which the User-Agent was invalid
due to a missing space. Should work now for Redacted."
% Removed hardcoding for What.CD in pygazelle API, making it easy to add other Gazelle-based trackers
+ Added URL parameter for What.CD and PTH, in case they come back under a new domain name