# This file is part of jwmud, written by Helmut Pozimski in 2014. # # jwmud is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, version 2 of the License. # # jwmud is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with jwmud. If not, see . # -*- coding: utf8 -*- import sqlite3 from jwmudlib import jwmu_exceptions class db: def __init__(self, db_path): """Constructor, establishes the initial connection to the database.""" try: self.__connection = sqlite3.connect(db_path) except sqlite3.OperationalError: raise jwmu_exceptions.DataBaseAccessFailed() else: self.__cursor = self.__connection.cursor() def __del__(self): """Destructor, closes the connection to the database""" self.__connection.close() def __ExecuteQuery(self, query, arguments=None): """Executes any query and returns the result""" if arguments is None: query_result = self.__cursor.execute(query) else: query_result = self.__cursor.execute(query, arguments) return query_result def __ExecuteStatement(self, statement, arguments=None): """Executes any statements that perform a write access to the database """ try: if arguments is None: self.__cursor.execute(statement) else: self.__cursor.execute(statement, arguments) except sqlite3.OperationalError: raise jwmu_exceptions.DataBaseWriteFailed() else: self.__connection.commit()