mirror of
https://gitlab.com/SIGBUS/nyaa.git
synced 2024-10-31 22:45:54 +00:00
Handle qButtorrent empty url-list/webseeds
url-list is supposed to be omitted in case of no webseeds, but qB will instead use an empty bytestring '' as the value. This commit makes the validation more lenient regarding url-list.
This commit is contained in:
parent
1bc36c5a17
commit
987103b213
|
@ -140,7 +140,8 @@ def handle_torrent_upload(upload_form, uploading_user=None, fromAPI=False):
|
||||||
trackers.add(announce[0].decode('ascii'))
|
trackers.add(announce[0].decode('ascii'))
|
||||||
|
|
||||||
# Store webseeds
|
# Store webseeds
|
||||||
webseed_list = torrent_data.torrent_dict.get('url-list', [])
|
# qBittorrent doesn't omit url-list but sets it as '' even when there are no webseeds
|
||||||
|
webseed_list = torrent_data.torrent_dict.get('url-list') or []
|
||||||
webseeds = OrderedSet(webseed.decode('utf-8') for webseed in webseed_list)
|
webseeds = OrderedSet(webseed.decode('utf-8') for webseed in webseed_list)
|
||||||
|
|
||||||
# Remove our trackers, maybe? TODO ?
|
# Remove our trackers, maybe? TODO ?
|
||||||
|
|
|
@ -346,7 +346,8 @@ def _validate_trackers(torrent_dict, tracker_to_check_for=None):
|
||||||
# http://www.bittorrent.org/beps/bep_0019.html
|
# http://www.bittorrent.org/beps/bep_0019.html
|
||||||
def _validate_webseeds(torrent_dict):
|
def _validate_webseeds(torrent_dict):
|
||||||
webseed_list = torrent_dict.get('url-list')
|
webseed_list = torrent_dict.get('url-list')
|
||||||
if webseed_list is not None:
|
# qBittorrent has an empty field instead of omitting the key, so just check for truthiness
|
||||||
|
if webseed_list:
|
||||||
_validate_list(webseed_list, 'url-list')
|
_validate_list(webseed_list, 'url-list')
|
||||||
|
|
||||||
for webseed_url in webseed_list:
|
for webseed_url in webseed_list:
|
||||||
|
|
Loading…
Reference in a new issue