wordpress-collect/kv.py
2024-02-15 22:48:32 +08:00

71 lines
1.4 KiB
Python

import sqlite3
def create():
conn = sqlite3.connect('kv.db')
c = conn.cursor()
# create with index
c.execute('''CREATE TABLE IF NOT EXISTS kv (key text, value text, PRIMARY KEY(key))''')
conn.commit()
conn.close()
def set(key, value):
conn = sqlite3.connect('kv.db')
c = conn.cursor()
# check table
c.execute('''SELECT name FROM sqlite_master WHERE type='table' AND name='kv' ''')
result = c.fetchone()
if not result:
create()
# create with index
c.execute('''INSERT OR REPLACE INTO kv (key, value) VALUES (?, ?)''', (key, value))
conn.commit()
conn.close()
def get(key):
conn = sqlite3.connect('kv.db')
c = conn.cursor()
# check table
c.execute('''SELECT name FROM sqlite_master WHERE type='table' AND name='kv' ''')
result = c.fetchone()
if not result:
create()
# create with index
c.execute('''SELECT value FROM kv WHERE key=?''', (key,))
result = c.fetchone()
conn.commit()
conn.close()
if result:
return result[0]
else:
return None
def delete(key):
conn = sqlite3.connect('kv.db')
c = conn.cursor()
# check table
c.execute('''SELECT name FROM sqlite_master WHERE type='table' AND name='kv' ''')
result = c.fetchone()
if not result:
create()
# create with index
c.execute('''DELETE FROM kv WHERE key=?''', (key,))
conn.commit()
conn.close()