mirror of
https://github.com/sb745/NyaaV3.git
synced 2025-03-12 13:56:55 +02:00

IMPORTANT!!! Make sure to run utils/infodict_mysql2file.py before upgrading the database.
53 lines
1.2 KiB
Python
Executable file
53 lines
1.2 KiB
Python
Executable file
#!/usr/bin/python
|
|
import os
|
|
import sys
|
|
|
|
import MySQLdb
|
|
import MySQLdb.cursors
|
|
|
|
if len(sys.argv) < 3 or len(sys.argv) > 4:
|
|
print("Usage: {0} <prefix(nyaa|sukebei)> <outdir> [offset]".format(sys.argv[0]))
|
|
sys.exit(1)
|
|
|
|
ofs = 0
|
|
prefix = sys.argv[1]
|
|
outdir = sys.argv[2]
|
|
if not os.path.exists(outdir):
|
|
os.makedirs(outdir)
|
|
if len(sys.argv) == 4:
|
|
ofs = int(sys.argv[3])
|
|
|
|
|
|
db = MySQLdb.connect(host='localhost',
|
|
user='test',
|
|
passwd='test123',
|
|
db='nyaav2',
|
|
cursorclass=MySQLdb.cursors.SSCursor)
|
|
cur = db.cursor()
|
|
|
|
cur.execute(
|
|
"""SELECT
|
|
id,
|
|
info_hash,
|
|
info_dict
|
|
FROM
|
|
{0}_torrents
|
|
JOIN {0}_torrents_info ON torrent_id = id
|
|
LIMIT 18446744073709551610 OFFSET {1}
|
|
""".format(prefix, ofs))
|
|
|
|
for row in cur:
|
|
id = row[0]
|
|
info_hash = row[1].hex().lower()
|
|
info_dict = row[2]
|
|
|
|
path = os.path.join(outdir, info_hash[0:2], info_hash[2:4])
|
|
if not os.path.exists(path):
|
|
os.makedirs(path)
|
|
path = os.path.join(path, info_hash)
|
|
|
|
with open(path, 'wb') as fp:
|
|
fp.write(info_dict)
|
|
|
|
ofs += 1
|
|
print(ofs)
|