Add patches to handle tables changes, adjust rest of the code for changes

This commit is contained in:
DariusIII
2016-01-15 10:03:36 +01:00
parent e9b59142a4
commit d044bbcaf1
41 changed files with 203 additions and 279 deletions
@@ -23,7 +23,7 @@ pathname = os.path.abspath(os.path.dirname(sys.argv[0]))
if len(sys.argv) == 1:
print(bcolors.ERROR + "\nAn argument is required\n\n"
+ "python " + sys.argv[0] + " [md5, nfo, filename, par2, miscsorter] ...: To process all previously unprocessed releases, using [md5, nfo, filename, par2, miscsorter].\n"
+ "python " + sys.argv[0] + " [nfo, filename, par2] prehashid ...: To process all releases not matched to prehashid, using [nfo, filename, par2].\n"
+ "python " + sys.argv[0] + " [nfo, filename, par2] preid ...: To process all releases not matched to preid, using [nfo, filename, par2].\n"
+ "python " + sys.argv[0] + " nfo clean ...: To process all releases processed by filename, using nfo.\n"
+ "python " + sys.argv[0] + " par2 clean ...: To process all releases processed by filename and nfo, using par2.\n"
+ "python " + sys.argv[0] + " predbft clean ...: To process all releases using reverse match by PreDB title.\n"
@@ -38,12 +38,12 @@ if len(sys.argv) == 3 and sys.argv[1] == "nfo" and sys.argv[2] == "clean":
clean = " isrenamed = 0 AND proc_files = 1 "
elif len(sys.argv) == 3 and sys.argv[1] == "par2" and sys.argv[2] == "clean":
clean = " isrenamed = 0 AND proc_files = 1 AND proc_nfo = 1 "
elif len(sys.argv) == 3 and sys.argv[1] == "nfo" and sys.argv[2] == "prehashid":
clean = " prehashid = 0 "
elif len(sys.argv) == 3 and sys.argv[1] == "par2" and sys.argv[2] == "prehashid":
clean = " prehashid = 0 "
elif len(sys.argv) == 3 and sys.argv[1] == "filename" and sys.argv[2] == "prehashid":
clean = " prehashid = 0 "
elif len(sys.argv) == 3 and sys.argv[1] == "nfo" and sys.argv[2] == "preid":
clean = " preid = 0 "
elif len(sys.argv) == 3 and sys.argv[1] == "par2" and sys.argv[2] == "preid":
clean = " preid = 0 "
elif len(sys.argv) == 3 and sys.argv[1] == "filename" and sys.argv[2] == "preid":
clean = " preid = 0 "
else:
clean = " isrenamed = 0 "
@@ -69,7 +69,7 @@ elif len(sys.argv) > 1 and (sys.argv[1] == "filename"):
cur[0].execute(run, (int(perrun[0]) * int(run_threads[0])))
datas = cur[0].fetchall()
elif len(sys.argv) > 1 and (sys.argv[1] == "md5"):
run = "SELECT DISTINCT rel.id FROM releases rel LEFT OUTER JOIN release_files rf ON rel.id = rf.releaseid AND rf.ishashed = 1 WHERE nzbstatus = 1 AND rel.dehashstatus BETWEEN -6 AND 0 AND rel.ishashed = 1 AND prehashid = 0 ORDER BY dehashstatus DESC, postdate ASC LIMIT %s"
run = "SELECT DISTINCT rel.id FROM releases rel LEFT OUTER JOIN release_files rf ON rel.id = rf.releaseid AND rf.ishashed = 1 WHERE nzbstatus = 1 AND rel.dehashstatus BETWEEN -6 AND 0 AND rel.ishashed = 1 AND preid = 0 ORDER BY dehashstatus DESC, postdate ASC LIMIT %s"
cur[0].execute(run, (int(perrun[0])*int(run_threads[0])))
datas = cur[0].fetchall()
elif len(sys.argv) > 1 and (sys.argv[1] == "par2"):
@@ -79,7 +79,7 @@ elif len(sys.argv) > 1 and (sys.argv[1] == "par2"):
datas = cur[0].fetchall()
elif len(sys.argv) > 1 and (sys.argv[1] == "predbft"):
#This one does from oldest posts to newest posts since there are many other more efficient PreDB matching schemes
run = "SELECT id AS prehashid FROM prehash WHERE LENGTH(title) >= 15 AND title NOT REGEXP '[\"\<\> ]' AND searched = 0 AND DATEDIFF(NOW(), predate) > 1 ORDER BY predate ASC LIMIT %s"
run = "SELECT id AS preid FROM predb WHERE LENGTH(title) >= 15 AND title NOT REGEXP '[\"\<\> ]' AND searched = 0 AND DATEDIFF(NOW(), predate) > 1 ORDER BY predate ASC LIMIT %s"
cur[0].execute(run, (int(perrun[0]) * int(run_threads[0])))
datas = cur[0].fetchall()
@@ -40,7 +40,7 @@ datelimit = "AND DATEDIFF(NOW(), r.adddate) <= 7"
groupby = "GROUP BY guidchar"
orderby = "ORDER BY guidchar ASC"
rowlimit = "LIMIT 16"
extrawhere = "AND r.prehashid = 0 AND r.nzbstatus = 1"
extrawhere = "AND r.preid = 0 AND r.nzbstatus = 1"
select = "DISTINCT LEFT(r.guid, 1) AS guidchar, COUNT(*) AS count"
cur[0].execute("SELECT value FROM settings WHERE setting = 'fixnamethreads'")
@@ -35,7 +35,7 @@ print(bcolors.HEADER + "\n\nRequestID Threaded Started at {}".format(datetime.da
cur[0].execute("SELECT value FROM settings WHERE setting = 'request_hours'")
dbgrab = cur[0].fetchone()
request_hours = str(dbgrab[0])
cur[0].execute("SELECT DISTINCT(g.id) FROM releases r INNER JOIN groups g ON r.group_id = g.id WHERE r.nzbstatus = 1 AND r.prehashid = 0 AND r.isrequestid = 1 AND r.reqidstatus in (0, -1) OR (r.reqidstatus = -3 AND r.adddate > NOW() - INTERVAL " + request_hours + " HOUR)")
cur[0].execute("SELECT DISTINCT(g.id) FROM releases r INNER JOIN groups g ON r.group_id = g.id WHERE r.nzbstatus = 1 AND r.preid = 0 AND r.isrequestid = 1 AND r.reqidstatus in (0, -1) OR (r.reqidstatus = -3 AND r.adddate > NOW() - INTERVAL " + request_hours + " HOUR)")
datas = cur[0].fetchall()
#close connection to mysql