mirror of
https://github.com/ProjectSynthoria/SynthoriaArchive.git
synced 2025-03-12 15:26:56 +02:00
54 lines
1.2 KiB
Python
54 lines
1.2 KiB
Python
![]() |
#!/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)
|