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))
