Fix casing (again)
This commit is contained in:
parent
965e0481ec
commit
f3eef86db5
23
src/db.py
23
src/db.py
@ -884,8 +884,31 @@ def _conn():
|
||||
with _ts.conn:
|
||||
c = _ts.conn.cursor()
|
||||
c.execute("PRAGMA foreign_keys = ON")
|
||||
# remap NOCASE to be IRC casing
|
||||
_ts.conn.create_collation("NOCASE", _collate_irc)
|
||||
return _ts.conn
|
||||
|
||||
def _collate_irc(s1, s2):
|
||||
# treat hostmasks specially, otherwise call irc_lower on stuff
|
||||
if "@" in s1:
|
||||
hl, hr = s1.split("@", 1)
|
||||
s1 = irc_lower(hl) + "@" + hr.lower()
|
||||
else:
|
||||
s1 = irc_lower(s1)
|
||||
|
||||
if "@" in s2:
|
||||
hl, hr = s2.split("@", 1)
|
||||
l2 = irc_lower(hl) + "@" + hr.lower()
|
||||
else:
|
||||
s2 = irc_lower(s2)
|
||||
|
||||
if s1 == s2:
|
||||
return 0
|
||||
elif s1 < s2:
|
||||
return -1
|
||||
else:
|
||||
return 1
|
||||
|
||||
need_install = not os.path.isfile("data.sqlite3")
|
||||
conn = sqlite3.connect("data.sqlite3")
|
||||
with conn:
|
||||
|
Loading…
x
Reference in New Issue
Block a user