import sqlite3
import logging
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
level=logging.INFO)
logger = logging.getLogger(__name__)
connect = sqlite3.connect('database.db')
cursor = connect.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS quotes (Id INTEGER PRIMARY KEY, text TEXT);")
connect.commit()
def quote_get(id=None):
data = None
try:
with connect:
if id:
cursor.execute("SELECT Id, text FROM quotes WHERE Id = (?);", (id,))
data = cursor.fetchone()
else:
cursor.execute("SELECT * FROM quotes ORDER BY RANDOM() LIMIT 1;")
data = cursor.fetchone()
except Exception as error:
logger.warning("quote_get('%s') caused an '%s" % (id, error))
return data
if __name__ == '__main__':
print(quote_get())
print(quote_get(1))
aW1wb3J0IHNxbGl0ZTMKaW1wb3J0IGxvZ2dpbmcKCmxvZ2dpbmcuYmFzaWNDb25maWcoZm9ybWF0PSclKGFzY3RpbWUpcyAtICUobmFtZSlzIC0gJShsZXZlbG5hbWUpcyAtICUobWVzc2FnZSlzJywKICAgICAgICAgICAgICAgICAgICBsZXZlbD1sb2dnaW5nLklORk8pCmxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQoKY29ubmVjdCA9IHNxbGl0ZTMuY29ubmVjdCgnZGF0YWJhc2UuZGInKQpjdXJzb3IgPSBjb25uZWN0LmN1cnNvcigpCmN1cnNvci5leGVjdXRlKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBxdW90ZXMgKElkIElOVEVHRVIgUFJJTUFSWSBLRVksIHRleHQgVEVYVCk7IikKY29ubmVjdC5jb21taXQoKQoKCmRlZiBxdW90ZV9nZXQoaWQ9Tm9uZSk6CiAgICBkYXRhID0gTm9uZQogICAgdHJ5OgogICAgICAgIHdpdGggY29ubmVjdDoKICAgICAgICAgICAgaWYgaWQ6CiAgICAgICAgICAgICAgICBjdXJzb3IuZXhlY3V0ZSgiU0VMRUNUIElkLCB0ZXh0IEZST00gcXVvdGVzIFdIRVJFIElkID0gKD8pOyIsIChpZCwpKQogICAgICAgICAgICAgICAgZGF0YSA9IGN1cnNvci5mZXRjaG9uZSgpCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBjdXJzb3IuZXhlY3V0ZSgiU0VMRUNUICogRlJPTSBxdW90ZXMgT1JERVIgQlkgUkFORE9NKCkgTElNSVQgMTsiKQogICAgICAgICAgICAgICAgZGF0YSA9IGN1cnNvci5mZXRjaG9uZSgpCiAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGVycm9yOgogICAgICAgIGxvZ2dlci53YXJuaW5nKCJxdW90ZV9nZXQoJyVzJykgY2F1c2VkIGFuICclcyIgJSAoaWQsIGVycm9yKSkKICAgIHJldHVybiBkYXRhCgoKaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgIHByaW50KHF1b3RlX2dldCgpKQogICAgcHJpbnQocXVvdGVfZ2V0KDEpKQo=