Files
Anthias/db.py
Márton Boros 4ff1d05dca revamp settings
2013-02-18 08:21:43 +01:00

38 lines
876 B
Python

import sqlite3
from settings import settings
class Connection(object):
"""Database connection."""
def __init__(self, database=None):
self.database = database or settings.get_database()
self._conn = None
@property
def connection(self):
# Not thread safe.
if not self._conn:
self._conn = sqlite3.connect(self.database, detect_types=sqlite3.PARSE_DECLTYPES)
return self._conn
def cursor(self):
return self.connection.cursor()
def commit(self):
if self._conn:
self._conn.commit()
def rollback(self):
if self._conn:
self._conn.rollback()
def close(self):
if self._conn:
self._conn.close()
self._conn = None
# Default connection based on settings in settings.py.
connection = Connection(settings.get_database())