66 lines
2.9 KiB
Python
66 lines
2.9 KiB
Python
import base64
|
|
import os
|
|
import re
|
|
import sqlite3
|
|
|
|
from database import BotDBUtil
|
|
from modules.wiki.dbutils import WikiTargetInfo
|
|
|
|
old_db_link = os.path.abspath('./database/old.db')
|
|
conn = sqlite3.connect(old_db_link)
|
|
c = conn.cursor()
|
|
friends = c.execute(f"SELECT * FROM friend_permission").fetchall()
|
|
for friend in friends:
|
|
BotDBUtil.Module(f'QQ|{friend[0]}').enable(friend[1].split('|'))
|
|
groups = c.execute(f"SELECT * FROM group_permission").fetchall()
|
|
for group in groups:
|
|
BotDBUtil.Module(f'QQ|Group|{group[0]}').enable(group[1].split('|'))
|
|
group_admins = c.execute(f"SELECT * FROM group_adminuser").fetchall()
|
|
for group_admin in group_admins:
|
|
BotDBUtil.SenderInfo(f'QQ|{group_admin[1]}').add_TargetAdmin(f'QQ|Group|{group_admin[2]}')
|
|
superusers = c.execute(f"SELECT * FROM superuser").fetchall()
|
|
for superuser in superusers:
|
|
BotDBUtil.SenderInfo(f'QQ|{superuser[0]}').edit("isSuperUser", True)
|
|
c.close()
|
|
conn.close()
|
|
old_wikidb_link = os.path.abspath('./database/wiki_old.db')
|
|
conn = sqlite3.connect(old_wikidb_link)
|
|
c = conn.cursor()
|
|
wiki_friends_start = c.execute(f"SELECT * FROM start_wiki_link_Friend").fetchall()
|
|
for friend_start in wiki_friends_start:
|
|
WikiTargetInfo(f'QQ|{friend_start[0]}').add_start_wiki(friend_start[1])
|
|
wiki_groups_start = c.execute(f"SELECT * FROM start_wiki_link_Group").fetchall()
|
|
for group_start in wiki_groups_start:
|
|
WikiTargetInfo(f'QQ|Group|{group_start[0]}').add_start_wiki(group_start[1])
|
|
wiki_friends_custom = c.execute(f"SELECT * FROM custom_interwiki_Friend").fetchall()
|
|
for friend_custom in wiki_friends_custom:
|
|
for y in friend_custom[1].split('|'):
|
|
z = y.split('>')
|
|
if len(z) > 1:
|
|
WikiTargetInfo(f'QQ|{friend_custom[0]}').config_interwikis(z[0], z[1], True)
|
|
wiki_groups_custom = c.execute(f"SELECT * FROM custom_interwiki_Group").fetchall()
|
|
for group_custom in wiki_groups_custom:
|
|
for y in group_custom[1].split('|'):
|
|
z = y.split('>')
|
|
if len(z) > 1:
|
|
WikiTargetInfo(f'QQ|Group|{group_custom[0]}').config_interwikis(z[0], z[1], True)
|
|
wiki_groups_headers = c.execute(f"SELECT * FROM request_headers_group").fetchall()
|
|
for headers_group in wiki_groups_headers:
|
|
headers = {}
|
|
headerd = str(base64.decodebytes(headers_group[1]).decode('utf-8'))
|
|
headersp = headerd.split('\n')
|
|
for x in headersp:
|
|
if x != '':
|
|
x = x.split(':')
|
|
headers[x[0]] = re.sub(r'^ ', '', x[1])
|
|
WikiTargetInfo(f'QQ|Group|{headers_group[0]}').config_headers(headers, let_it=True)
|
|
wiki_friends_headers = c.execute(f"SELECT * FROM request_headers_friend").fetchall()
|
|
for headers_friend in wiki_friends_headers:
|
|
headers = {}
|
|
headerd = str(base64.decodebytes(headers_friend[1]).decode('utf-8'))
|
|
headersp = headerd.split('\n')
|
|
for x in headersp:
|
|
if x != '':
|
|
x = x.split(':')
|
|
headers[x[0]] = re.sub(r'^ ', '', x[1])
|
|
WikiTargetInfo(f'QQ|{headers_friend[0]}').config_headers(headers, let_it=True)
|