Source code for alignak.db_sqlite
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Copyright (C) 2015-2015: Alignak team, see AUTHORS.txt file for contributors
#
# This file is part of Alignak.
#
# Alignak is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Alignak 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 Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with Alignak. If not, see <http://www.gnu.org/licenses/>.
#
#
# This file incorporates work covered by the following copyright and
# permission notice:
#
# Copyright (C) 2009-2014:
# Hartmut Goebel, h.goebel@goebel-consult.de
# Guillaume Bour, guillaume@bour.cc
# Nicolas Dupeux, nicolas@dupeux.net
# Sebastien Coavoux, s.coavoux@free.fr
# Thibault Cohen, titilambert@gmail.com
# Jean Gabes, naparuba@gmail.com
# Zoran Zaric, zz@zoranzaric.de
# This file is part of Shinken.
#
# Shinken is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Shinken 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 Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with Shinken. If not, see <http://www.gnu.org/licenses/>.
"""This module provide DBSqlite class to access SQLite databases
"""
from alignak.db import DB
from alignak.log import logger
import sqlite3
[docs]class DBSqlite(DB):
"""DBSqlite is a sqlite access database class"""
def __init__(self, db_path, table_prefix=''):
super(DBSqlite, self).__init__(table_prefix)
self.table_prefix = table_prefix
self.db_path = db_path
[docs] def connect_database(self):
"""Create the database connection
:return: None
"""
self.db = sqlite3.connect(self.db_path) # pylint: disable=C0103
self.db_cursor = self.db.cursor()
[docs] def execute_query(self, query):
"""Just run the query
:param query: the query
:type query: str
:return: None
"""
logger.debug("[SqliteDB] Info: I run query '%s'", query)
self.db_cursor.execute(query)
self.db.commit()