mirror of
https://github.com/simon987/nyaa.git
synced 2025-12-13 23:29:02 +00:00
Remove v1 upload api and update notice
This commit is contained in:
@@ -1,137 +0,0 @@
|
||||
# Uploads a single torrent file
|
||||
# Works on nyaa.si and sukebei.nyaa.si
|
||||
|
||||
# Consider using api_uploader_v2.py instead
|
||||
# It has a nice command line interface
|
||||
|
||||
import json
|
||||
import requests
|
||||
|
||||
'''
|
||||
The POST payload to the api endpoint (/api/upload) should be multipart/form-data containing three fields
|
||||
|
||||
'auth_info': file containing "{
|
||||
'username': str,
|
||||
'password': str
|
||||
}",
|
||||
|
||||
'torrent_info': {
|
||||
'category': str, # see below
|
||||
'display_name': str, # optional
|
||||
'information': str,
|
||||
'description': str,
|
||||
'is_anonymous': boolean,
|
||||
'is_hidden': boolean,
|
||||
'is_remake': boolean,
|
||||
'is_complete': boolean,
|
||||
'is_trusted': boolean #optional
|
||||
},
|
||||
|
||||
'torrent_file': multi part file format
|
||||
|
||||
|
||||
A successful request should return {'Success': int(torrent_id)}
|
||||
A failed request should return {'Failure': ["Failure 1", "Failure 2"...]]}
|
||||
|
||||
'''
|
||||
|
||||
# ########################################### HELP ############################################
|
||||
# ################################# CATEGORIES MUST BE EXACT ##################################
|
||||
'''
|
||||
# Nyaa categories only for now, but api still works for sukebei
|
||||
|
||||
Anime
|
||||
Anime - AMV : '1_1'
|
||||
Anime - English : '1_2'
|
||||
Anime - Non-English : '1_3'
|
||||
Anime - Raw : '1_4'
|
||||
Audio
|
||||
Lossless : '2_1'
|
||||
Lossy : '2_2'
|
||||
Literature
|
||||
Literature - English-translated : '3_1'
|
||||
Literature - Non-English : '3_2'
|
||||
Literature - Non-English-Translated : '3_3'
|
||||
Literature - Raw : '3_4'
|
||||
Live Action
|
||||
Live Action - English-translated : '4_1'
|
||||
Live Action - Idol/Promotional Video : '4_2'
|
||||
Live Action - Non-English-translated : '4_3'
|
||||
Live Action - Raw : '4_4'
|
||||
Pictures
|
||||
Pictures - Graphics : '5_1'
|
||||
Pictures - Photos : '5_2'
|
||||
Software
|
||||
Software - Applications : '6_1'
|
||||
Software - Games : '6_2'
|
||||
'''
|
||||
# ################################# CATEGORIES MUST BE EXACT ##################################
|
||||
|
||||
# ###################################### EXAMPLE REQUEST ######################################
|
||||
'''
|
||||
# Required
|
||||
username = ''
|
||||
password = ''
|
||||
torrent_file = '/path/to/my.torrent'
|
||||
category = '1_2'
|
||||
|
||||
#Optional
|
||||
display_name = ''
|
||||
information = 'API HOWTO'
|
||||
description = 'Visit #nyaa-dev@irc.rizon.net'
|
||||
|
||||
# Defaults to False, change to True to set
|
||||
is_anonymous : False,
|
||||
is_hidden : False,
|
||||
is_remake : False,
|
||||
is_complete : False
|
||||
'''
|
||||
|
||||
|
||||
# ######################################## CHANGE HERE ########################################
|
||||
|
||||
url = 'https://nyaa.si/api/upload' # or 'https://sukebei.nyaa.si/api/upload' or 'http://127.0.0.1:5500/api/upload'
|
||||
|
||||
# Required
|
||||
username = ''
|
||||
password = ''
|
||||
torrent_file = ''
|
||||
category = ''
|
||||
|
||||
# Optional
|
||||
display_name = ''
|
||||
information = ''
|
||||
description = ''
|
||||
is_anonymous = False
|
||||
is_hidden = False
|
||||
is_remake = False
|
||||
is_complete = False
|
||||
is_trusted = True # This will only work if a user is trusted, otherwise the option is ignored
|
||||
|
||||
auth_info = {
|
||||
'username' : username,
|
||||
'password' : password
|
||||
}
|
||||
|
||||
metadata={
|
||||
'category' : category,
|
||||
'display_name' : display_name,
|
||||
'information' : information,
|
||||
'description' : description,
|
||||
'is_anonymous' : is_anonymous,
|
||||
'is_hidden' : is_hidden,
|
||||
'is_remake' : is_remake,
|
||||
'is_complete' : is_complete,
|
||||
'is_trusted' : is_trusted
|
||||
}
|
||||
|
||||
files = {
|
||||
'auth_info' : (json.dumps(auth_info)),
|
||||
'torrent_info' : (json.dumps(metadata)),
|
||||
'torrent_file' : ('{0}'.format(torrent_file), open(torrent_file, 'rb'), 'application/octet-stream')
|
||||
}
|
||||
|
||||
response = requests.post(url, files=files)
|
||||
json_response = response.json()
|
||||
print(json_response)
|
||||
# A successful request should print {'Success': int(torrent_id)}
|
||||
@@ -9,7 +9,7 @@ NYAA_HOST = 'https://nyaa.si'
|
||||
SUKEBEI_HOST = 'https://sukebei.nyaa.si'
|
||||
|
||||
API_BASE = '/api'
|
||||
API_UPLOAD = API_BASE + '/v2/upload'
|
||||
API_UPLOAD = API_BASE + '/upload'
|
||||
|
||||
NYAA_CATS = '''1_1 - Anime - AMV
|
||||
1_2 - Anime - English
|
||||
|
||||
Reference in New Issue
Block a user