Improve pylint to 10.0

This commit is contained in:
kulath
2016-08-01 17:37:26 +01:00
parent 3461316067
commit fcf1c1d13b

View File

@@ -18,19 +18,35 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# #
import os """
Backend for sqlite database.
"""
#-------------------------------------------------------------------------
#
# standard python modules
#
#-------------------------------------------------------------------------
import sqlite3 import sqlite3
import logging import logging
import re import re
sqlite3.paramstyle = 'qmark' sqlite3.paramstyle = 'qmark'
#-------------------------------------------------------------------------
#
# Sqlite class
#
#-------------------------------------------------------------------------
class Sqlite: class Sqlite:
"""
The Sqlite class is an interface between the DBAPI class which is the Gramps
backend for the DBAPI interface and the sqlite3 python module.
"""
@classmethod @classmethod
def get_summary(cls): def get_summary(cls):
""" """
Return a diction of information about this database Return a dictionary of information about this database backend.
backend.
""" """
summary = { summary = {
"DB-API version": "2.0", "DB-API version": "2.0",
@@ -43,6 +59,18 @@ class Sqlite:
return summary return summary
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
"""
Create a new Sqlite instance.
This connects to a sqlite3 database and creates a cursor instance.
:param args: arguments to be passed to the sqlite3 connect class at
creation.
:type args: list
:param kwargs: arguments to be passed to the sqlite3 connect class at
creation.
:type kwargs: list
"""
self.log = logging.getLogger(".sqlite") self.log = logging.getLogger(".sqlite")
self.connection = sqlite3.connect(*args, **kwargs) self.connection = sqlite3.connect(*args, **kwargs)
self.cursor = self.connection.cursor() self.cursor = self.connection.cursor()
@@ -50,35 +78,84 @@ class Sqlite:
self.connection.create_function("regexp", 2, regexp) self.connection.create_function("regexp", 2, regexp)
def execute(self, *args, **kwargs): def execute(self, *args, **kwargs):
"""
Executes an SQL statement.
:param args: arguments to be passed to the sqlite3 execute statement
:type args: list
:param kwargs: arguments to be passed to the sqlite3 execute statement
:type kwargs: list
"""
self.log.debug(args) self.log.debug(args)
self.cursor.execute(*args, **kwargs) self.cursor.execute(*args, **kwargs)
def fetchone(self): def fetchone(self):
"""
Fetches the next row of a query result set, returning a single sequence,
or None when no more data is available.
"""
return self.cursor.fetchone() return self.cursor.fetchone()
def fetchall(self): def fetchall(self):
"""
Fetches the next set of rows of a query result, returning a list. An
empty list is returned when no more rows are available.
"""
return self.cursor.fetchall() return self.cursor.fetchall()
def begin(self): def begin(self):
"""
Start a transaction manually. This transactions usually persist until
the next COMMIT or ROLLBACK command.
"""
self.log.debug("BEGIN TRANSACTION;") self.log.debug("BEGIN TRANSACTION;")
self.execute("BEGIN TRANSACTION;") self.execute("BEGIN TRANSACTION;")
def commit(self): def commit(self):
"""
Commit the current transaction.
"""
self.log.debug("COMMIT;") self.log.debug("COMMIT;")
self.connection.commit() self.connection.commit()
def rollback(self): def rollback(self):
"""
Roll back any changes to the database since the last call to commit().
"""
self.log.debug("ROLLBACK;") self.log.debug("ROLLBACK;")
self.connection.rollback() self.connection.rollback()
def table_exists(self, table): def table_exists(self, table):
"""
Test whether the specified SQL database table exists.
:param table: table name to check.
:type table: str
:returns: True if the table exists, false otherwise.
:rtype: bool
"""
self.execute("SELECT COUNT(*) FROM sqlite_master " self.execute("SELECT COUNT(*) FROM sqlite_master "
"WHERE type='table' AND name='%s';" % table) "WHERE type='table' AND name='%s';" % table)
return self.fetchone()[0] != 0 return self.fetchone()[0] != 0
def close(self): def close(self):
"""
Close the current database.
"""
self.log.debug("closing database...") self.log.debug("closing database...")
self.connection.close() self.connection.close()
def regexp(expr, value): def regexp(expr, value):
"""
A user defined function that can be called from within an SQL statement.
This function has two parameters.
:param expr: pattern to look for.
:type expr: str
:param value: the string to search.
:type value: list
:returns: True if the expr exists within the value, false otherwise.
:rtype: bool
"""
return re.search(expr, value, re.MULTILINE) is not None return re.search(expr, value, re.MULTILINE) is not None