use only a single table for pingif preferences
This commit is contained in:
parent
379737d4fc
commit
590406d00a
@ -976,9 +976,8 @@ def init_db():
|
|||||||
|
|
||||||
c.execute('CREATE TABLE IF NOT EXISTS allowed_accs (acc TEXT, command TEXT, UNIQUE(acc, command))') # ALLOW_ACCOUNTS
|
c.execute('CREATE TABLE IF NOT EXISTS allowed_accs (acc TEXT, command TEXT, UNIQUE(acc, command))') # ALLOW_ACCOUNTS
|
||||||
|
|
||||||
c.execute('CREATE TABLE IF NOT EXISTS ping_if_prefs (cloak TEXT, players INTEGER)') # ping-if preferences (hostnames - backup)
|
c.execute('CREATE TABLE IF NOT EXISTS pingif_prefs (user TEXT, is_account BOOLEAN, players INTEGER, PRIMARY KEY(user, is_account))') # pingif player count preferences
|
||||||
|
c.execute('CREATE INDEX IF NOT EXISTS ix_ping_prefs_pingif ON pingif_prefs (players ASC)')
|
||||||
c.execute('CREATE TABLE IF NOT EXISTS ping_if_prefs_accs (acc TEXT, players INTEGER)') # ping-if prefs (accounts - primary)
|
|
||||||
|
|
||||||
c.execute('PRAGMA table_info(pre_restart_state)')
|
c.execute('PRAGMA table_info(pre_restart_state)')
|
||||||
try:
|
try:
|
||||||
@ -1035,21 +1034,22 @@ def init_db():
|
|||||||
ALLOW_ACCOUNTS[row[0]] = []
|
ALLOW_ACCOUNTS[row[0]] = []
|
||||||
ALLOW_ACCOUNTS[row[0]].append(row[1])
|
ALLOW_ACCOUNTS[row[0]].append(row[1])
|
||||||
|
|
||||||
c.execute('SELECT * FROM ping_if_prefs')
|
c.execute('SELECT * FROM pingif_prefs')
|
||||||
for row in c:
|
|
||||||
if row[0] not in PING_IF_PREFS:
|
|
||||||
PING_IF_PREFS[row[0]] = row[1]
|
|
||||||
if row[1] not in PING_IF_NUMS:
|
|
||||||
PING_IF_NUMS[row[1]] = []
|
|
||||||
PING_IF_NUMS[row[1]].append(row[0])
|
|
||||||
|
|
||||||
c.execute('SELECT * FROM ping_if_prefs_accs')
|
|
||||||
for row in c:
|
for row in c:
|
||||||
|
# is an account
|
||||||
|
if row[1]:
|
||||||
if row[0] not in PING_IF_PREFS_ACCS:
|
if row[0] not in PING_IF_PREFS_ACCS:
|
||||||
PING_IF_PREFS_ACCS[row[0]] = row[1]
|
PING_IF_PREFS_ACCS[row[0]] = row[2]
|
||||||
if row[1] not in PING_IF_NUMS_ACCS:
|
if row[1] not in PING_IF_NUMS_ACCS:
|
||||||
PING_IF_NUMS_ACCS[row[1]] = []
|
PING_IF_NUMS_ACCS[row[2]] = []
|
||||||
PING_IF_NUMS_ACCS[row[1]].append(row[0])
|
PING_IF_NUMS_ACCS[row[2]].append(row[0])
|
||||||
|
# is a host
|
||||||
|
else:
|
||||||
|
if row[0] not in PING_IF_PREFS:
|
||||||
|
PING_IF_PREFS[row[0]] = row[2]
|
||||||
|
if row[1] not in PING_IF_NUMS:
|
||||||
|
PING_IF_NUMS[row[2]] = []
|
||||||
|
PING_IF_NUMS[row[2]].append(row[0])
|
||||||
|
|
||||||
# populate the roles table
|
# populate the roles table
|
||||||
c.execute('DROP TABLE IF EXISTS roles')
|
c.execute('DROP TABLE IF EXISTS roles')
|
||||||
@ -1146,17 +1146,11 @@ def remove_allow_acc(acc, command):
|
|||||||
with conn:
|
with conn:
|
||||||
c.execute('DELETE FROM allowed_accs WHERE acc=? AND command=?', (acc, command))
|
c.execute('DELETE FROM allowed_accs WHERE acc=? AND command=?', (acc, command))
|
||||||
|
|
||||||
def set_ping_if_status(cloak, players):
|
def set_pingif_status(user, is_account, players):
|
||||||
with conn:
|
with conn:
|
||||||
c.execute('DELETE FROM ping_if_prefs WHERE cloak=?', (cloak,))
|
c.execute('DELETE FROM pingif_prefs WHERE user=? AND is_account=?', (user, is_account))
|
||||||
if players != 0:
|
if players != 0:
|
||||||
c.execute('INSERT OR REPLACE INTO ping_if_prefs VALUES (?,?)', (cloak, players))
|
c.execute('INSERT OR REPLACE INTO pingif_prefs VALUES (?,?,?)', (user, is_account, players))
|
||||||
|
|
||||||
def set_ping_if_status_acc(acc, players):
|
|
||||||
with conn:
|
|
||||||
c.execute('DELETE FROM ping_if_prefs_accs WHERE acc=?', (acc,))
|
|
||||||
if players != 0:
|
|
||||||
c.execute('INSERT OR REPLACE INTO ping_if_prefs_accs VALUES (?,?)', (acc, players))
|
|
||||||
|
|
||||||
def update_role_stats(acc, role, won, iwon):
|
def update_role_stats(acc, role, won, iwon):
|
||||||
with conn:
|
with conn:
|
||||||
|
@ -798,7 +798,7 @@ def toggle_altpinged_status(nick, value, old=None):
|
|||||||
if acc and acc != "*":
|
if acc and acc != "*":
|
||||||
if acc in var.PING_IF_PREFS_ACCS.keys():
|
if acc in var.PING_IF_PREFS_ACCS.keys():
|
||||||
del var.PING_IF_PREFS_ACCS[acc]
|
del var.PING_IF_PREFS_ACCS[acc]
|
||||||
var.set_ping_if_status_acc(acc, 0)
|
var.set_pingif_status(acc, True, 0)
|
||||||
if old is not None:
|
if old is not None:
|
||||||
with var.WARNING_LOCK:
|
with var.WARNING_LOCK:
|
||||||
if old in var.PING_IF_NUMS_ACCS.keys():
|
if old in var.PING_IF_NUMS_ACCS.keys():
|
||||||
@ -806,7 +806,7 @@ def toggle_altpinged_status(nick, value, old=None):
|
|||||||
var.PING_IF_NUMS_ACCS[old].remove(acc)
|
var.PING_IF_NUMS_ACCS[old].remove(acc)
|
||||||
if not var.ACCOUNTS_ONLY and cloak in var.PING_IF_PREFS.keys():
|
if not var.ACCOUNTS_ONLY and cloak in var.PING_IF_PREFS.keys():
|
||||||
del var.PING_IF_PREFS[cloak]
|
del var.PING_IF_PREFS[cloak]
|
||||||
var.set_ping_if_status(cloak, 0)
|
var.set_pingif_status(cloak, False, 0)
|
||||||
if old is not None:
|
if old is not None:
|
||||||
with var.WARNING_LOCK:
|
with var.WARNING_LOCK:
|
||||||
if old in var.PING_IF_NUMS.keys():
|
if old in var.PING_IF_NUMS.keys():
|
||||||
@ -815,7 +815,7 @@ def toggle_altpinged_status(nick, value, old=None):
|
|||||||
else:
|
else:
|
||||||
if acc and acc != "*":
|
if acc and acc != "*":
|
||||||
var.PING_IF_PREFS_ACCS[acc] = value
|
var.PING_IF_PREFS_ACCS[acc] = value
|
||||||
var.set_ping_if_status_acc(acc, value)
|
var.set_pingif_status(acc, True, value)
|
||||||
with var.WARNING_LOCK:
|
with var.WARNING_LOCK:
|
||||||
if value not in var.PING_IF_NUMS_ACCS.keys():
|
if value not in var.PING_IF_NUMS_ACCS.keys():
|
||||||
var.PING_IF_NUMS_ACCS[value] = []
|
var.PING_IF_NUMS_ACCS[value] = []
|
||||||
@ -826,7 +826,7 @@ def toggle_altpinged_status(nick, value, old=None):
|
|||||||
var.PING_IF_NUMS_ACCS[old].remove(acc)
|
var.PING_IF_NUMS_ACCS[old].remove(acc)
|
||||||
elif not var.ACCOUNTS_ONLY:
|
elif not var.ACCOUNTS_ONLY:
|
||||||
var.PING_IF_PREFS[cloak] = value
|
var.PING_IF_PREFS[cloak] = value
|
||||||
var.set_ping_if_status(cloak, value)
|
var.set_pingif_status(cloak, False, value)
|
||||||
with var.WARNING_LOCK:
|
with var.WARNING_LOCK:
|
||||||
if value not in var.PING_IF_NUMS.keys():
|
if value not in var.PING_IF_NUMS.keys():
|
||||||
var.PING_IF_NUMS[value] = []
|
var.PING_IF_NUMS[value] = []
|
||||||
|
Loading…
x
Reference in New Issue
Block a user