From 3c44420278a9a841b73f8fb61f421edd52de7e16 Mon Sep 17 00:00:00 2001 From: Kevin Jurczyk Date: Wed, 9 Nov 2016 20:16:37 +0100 Subject: Added support for pysqlcipher3 --- lib/sqlalchemy/dialects/sqlite/pysqlcipher.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/sqlalchemy/dialects/sqlite/pysqlcipher.py b/lib/sqlalchemy/dialects/sqlite/pysqlcipher.py index 4a501acac..6dbdb4fa9 100644 --- a/lib/sqlalchemy/dialects/sqlite/pysqlcipher.py +++ b/lib/sqlalchemy/dialects/sqlite/pysqlcipher.py @@ -15,6 +15,8 @@ ``pysqlcipher`` is a fork of the standard ``pysqlite`` driver to make use of the `SQLCipher `_ backend. + ``pysqlcipher3`` is a fork of ``pysqlcipher`` for Python 3. + .. versionadded:: 0.9.9 Driver @@ -26,6 +28,9 @@ introduces new PRAGMA commands to SQLite which allows the setting of a passphrase and other encryption parameters, allowing the database file to be encrypted. +`pysqlcipher3` is a fork of `pysqlcipher` with support for Python 3, +the driver is the same. + Connect Strings --------------- @@ -80,7 +85,13 @@ class SQLiteDialect_pysqlcipher(SQLiteDialect_pysqlite): @classmethod def dbapi(cls): - from pysqlcipher import dbapi2 as sqlcipher + try: + from pysqlcipher import dbapi2 as sqlcipher + except ImportError as e: + try: + from pysqlcipher3 import dbapi2 as sqlcipher + except ImportError: + raise e return sqlcipher @classmethod -- cgit v1.2.1