2023-07-25 15:45:50 -07:00
|
|
|
import json
|
|
|
|
|
import sqlite3
|
|
|
|
|
|
|
|
|
|
from chanbans.db import get_db
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def dict_factory(cursor, row):
|
|
|
|
|
d = {}
|
|
|
|
|
for idx, col in enumerate(cursor.description):
|
|
|
|
|
d[col[0]] = row[idx]
|
|
|
|
|
return d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Create a new database too
|
|
|
|
|
old_db = get_db()
|
|
|
|
|
|
|
|
|
|
new_db = sqlite3.connect("new_db.db")
|
|
|
|
|
new_db.executescript(
|
|
|
|
|
"""
|
|
|
|
|
create table if not exists bans(
|
|
|
|
|
id integer primary key,
|
|
|
|
|
action varchar(5),
|
|
|
|
|
board varchar(10),
|
|
|
|
|
length varchar(10),
|
|
|
|
|
now varchar(30),
|
|
|
|
|
name varchar(100),
|
|
|
|
|
trip varchar(30),
|
|
|
|
|
com text,
|
|
|
|
|
time varchar(30),
|
|
|
|
|
sub varchar(100),
|
|
|
|
|
nsfw boolean,
|
|
|
|
|
thumb varchar(100),
|
|
|
|
|
ext varchar(10),
|
|
|
|
|
w int,
|
|
|
|
|
h int,
|
|
|
|
|
tn_w int,
|
|
|
|
|
tn_h int,
|
|
|
|
|
md5 varchar(100),
|
|
|
|
|
fsize integer,
|
|
|
|
|
filename text,
|
|
|
|
|
tim varchar(30),
|
|
|
|
|
thumb_path text,
|
|
|
|
|
reason varchar(200)
|
|
|
|
|
);
|
|
|
|
|
"""
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
old_db.row_factory = dict_factory
|
|
|
|
|
|
|
|
|
|
bans = old_db.execute("SELECT * FROM BANS").fetchall()
|
|
|
|
|
|
|
|
|
|
import pprint
|
|
|
|
|
|
|
|
|
|
for ban in bans:
|
|
|
|
|
post = json.loads(ban["post"])
|
|
|
|
|
post["action"] = ban["action"]
|
|
|
|
|
# post['board'] = ban['board']
|
|
|
|
|
post["length"] = ban["length"]
|
|
|
|
|
post["thumb_path"] = ban["thumb_path"]
|
|
|
|
|
post["reason"] = ban["reason"]
|
|
|
|
|
|
2023-07-25 15:50:00 -07:00
|
|
|
if "trip" not in post:
|
|
|
|
|
post["trip"] = None
|
2023-07-25 15:45:50 -07:00
|
|
|
if "nsfw" not in post:
|
|
|
|
|
post["nsfw"] = False
|
|
|
|
|
if "thumb" not in post:
|
|
|
|
|
post["thumb"] = None
|
|
|
|
|
if "ext" not in post:
|
|
|
|
|
post["ext"] = None
|
|
|
|
|
|
|
|
|
|
if "w" not in post:
|
|
|
|
|
post["w"] = 0
|
|
|
|
|
else:
|
|
|
|
|
post['w'] = int(post['w'])
|
|
|
|
|
|
|
|
|
|
if "h" not in post:
|
|
|
|
|
post["h"] = 0
|
|
|
|
|
else:
|
|
|
|
|
post['h'] = int(post['h'])
|
|
|
|
|
|
|
|
|
|
if "tn_w" not in post:
|
|
|
|
|
post["tn_w"] = 0
|
|
|
|
|
else:
|
|
|
|
|
post['tn_w'] = int(post['tn_w'])
|
|
|
|
|
|
|
|
|
|
if "tn_h" not in post:
|
|
|
|
|
post["tn_h"] = 0
|
|
|
|
|
else:
|
|
|
|
|
post['tn_h'] = int(post['tn_h'])
|
|
|
|
|
|
|
|
|
|
if "md5" not in post:
|
|
|
|
|
post["md5"] = None
|
|
|
|
|
if "fsize" not in post:
|
|
|
|
|
post["fsize"] = None
|
|
|
|
|
if "filename" not in post:
|
|
|
|
|
post["filename"] = None
|
|
|
|
|
if "tim" not in post:
|
|
|
|
|
post["tim"] = None
|
|
|
|
|
|
|
|
|
|
new_db.execute(
|
|
|
|
|
"""
|
|
|
|
|
INSERT INTO bans (action, board, length, now, name, trip, com, time, sub, nsfw, thumb, ext, w, h, tn_w, tn_h, md5, fsize, filename, tim, thumb_path, reason)
|
|
|
|
|
VALUES (
|
|
|
|
|
:action,
|
|
|
|
|
:board,
|
|
|
|
|
:length,
|
|
|
|
|
:now,
|
|
|
|
|
:name,
|
|
|
|
|
:trip,
|
|
|
|
|
:com,
|
|
|
|
|
:time,
|
|
|
|
|
:sub,
|
|
|
|
|
:nsfw,
|
|
|
|
|
:thumb,
|
|
|
|
|
:ext,
|
|
|
|
|
:w,
|
|
|
|
|
:h,
|
|
|
|
|
:tn_w,
|
|
|
|
|
:tn_h,
|
|
|
|
|
:md5,
|
|
|
|
|
:fsize,
|
|
|
|
|
:filename,
|
|
|
|
|
:tim,
|
|
|
|
|
:thumb_path,
|
|
|
|
|
:reason
|
|
|
|
|
)
|
|
|
|
|
""",
|
|
|
|
|
post,
|
|
|
|
|
)
|