diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2017-01-11 10:12:12 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2017-01-13 10:57:41 -0500 |
| commit | fa6dd376bb24845724287d980a98ea50eb1cfab1 (patch) | |
| tree | 91e536c76f4b76b8997b02f5cd5a41de29dc90ef /lib/sqlalchemy/dialects | |
| parent | c703b9ce89483b6f44b97d1fbf56f8df8b14305a (diff) | |
| download | sqlalchemy-fa6dd376bb24845724287d980a98ea50eb1cfab1.tar.gz | |
Support python3.6
Corrects some warnings and adds tox config. Adds DeprecationWarning
to the error category. Large sweep for string literals w/ backslashes
as this is common in docstrings
Co-authored-by: Andrii Soldatenko
Fixes: #3886
Change-Id: Ia7c838dfbbe70b262622ed0803d581edc736e085
Pull-request: https://github.com/zzzeek/sqlalchemy/pull/337
Diffstat (limited to 'lib/sqlalchemy/dialects')
| -rw-r--r-- | lib/sqlalchemy/dialects/firebird/base.py | 8 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/firebird/kinterbasdb.py | 2 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/mssql/pyodbc.py | 4 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/mysql/base.py | 2 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/mysql/cymysql.py | 2 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/mysql/mysqldb.py | 2 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/mysql/oursql.py | 2 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/mysql/zxjdbc.py | 2 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/postgresql/base.py | 20 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/postgresql/ext.py | 2 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/sqlite/base.py | 32 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/sqlite/pysqlite.py | 4 |
12 files changed, 41 insertions, 41 deletions
diff --git a/lib/sqlalchemy/dialects/firebird/base.py b/lib/sqlalchemy/dialects/firebird/base.py index de8c7f2a0..7d4aca526 100644 --- a/lib/sqlalchemy/dialects/firebird/base.py +++ b/lib/sqlalchemy/dialects/firebird/base.py @@ -5,7 +5,7 @@ # This module is part of SQLAlchemy and is released under # the MIT License: http://www.opensource.org/licenses/mit-license.php -""" +r""" .. dialect:: firebird :name: Firebird @@ -55,13 +55,13 @@ extends that to deletes and updates. This is generically exposed by the SQLAlchemy ``returning()`` method, such as:: # INSERT..RETURNING - result = table.insert().returning(table.c.col1, table.c.col2).\\ + result = table.insert().returning(table.c.col1, table.c.col2).\ values(name='foo') print result.fetchall() # UPDATE..RETURNING - raises = empl.update().returning(empl.c.id, empl.c.salary).\\ - where(empl.c.sales>100).\\ + raises = empl.update().returning(empl.c.id, empl.c.salary).\ + where(empl.c.sales>100).\ values(dict(salary=empl.c.salary * 1.1)) print raises.fetchall() diff --git a/lib/sqlalchemy/dialects/firebird/kinterbasdb.py b/lib/sqlalchemy/dialects/firebird/kinterbasdb.py index 4ddda2409..b7c1563e3 100644 --- a/lib/sqlalchemy/dialects/firebird/kinterbasdb.py +++ b/lib/sqlalchemy/dialects/firebird/kinterbasdb.py @@ -160,7 +160,7 @@ class FBDialect_kinterbasdb(FBDialect): def _parse_version_info(self, version): m = match( - '\w+-V(\d+)\.(\d+)\.(\d+)\.(\d+)( \w+ (\d+)\.(\d+))?', version) + r'\w+-V(\d+)\.(\d+)\.(\d+)\.(\d+)( \w+ (\d+)\.(\d+))?', version) if not m: raise AssertionError( "Could not determine version from string '%s'" % version) diff --git a/lib/sqlalchemy/dialects/mssql/pyodbc.py b/lib/sqlalchemy/dialects/mssql/pyodbc.py index 2cccdfeed..c6368f969 100644 --- a/lib/sqlalchemy/dialects/mssql/pyodbc.py +++ b/lib/sqlalchemy/dialects/mssql/pyodbc.py @@ -5,7 +5,7 @@ # This module is part of SQLAlchemy and is released under # the MIT License: http://www.opensource.org/licenses/mit-license.php -""" +r""" .. dialect:: mssql+pyodbc :name: PyODBC :dbapi: pyodbc @@ -281,7 +281,7 @@ class MSDialect_pyodbc(PyODBCConnector, MSDialect): _get_server_version_info(connection) else: version = [] - r = re.compile('[.\-]') + r = re.compile(r'[.\-]') for n in r.split(raw): try: version.append(int(n)) diff --git a/lib/sqlalchemy/dialects/mysql/base.py b/lib/sqlalchemy/dialects/mysql/base.py index 803265d79..1654ff327 100644 --- a/lib/sqlalchemy/dialects/mysql/base.py +++ b/lib/sqlalchemy/dialects/mysql/base.py @@ -5,7 +5,7 @@ # This module is part of SQLAlchemy and is released under # the MIT License: http://www.opensource.org/licenses/mit-license.php -""" +r""" .. dialect:: mysql :name: MySQL diff --git a/lib/sqlalchemy/dialects/mysql/cymysql.py b/lib/sqlalchemy/dialects/mysql/cymysql.py index 6373e4a58..a5ddb1a9e 100644 --- a/lib/sqlalchemy/dialects/mysql/cymysql.py +++ b/lib/sqlalchemy/dialects/mysql/cymysql.py @@ -59,7 +59,7 @@ class MySQLDialect_cymysql(MySQLDialect_mysqldb): def _get_server_version_info(self, connection): dbapi_con = connection.connection version = [] - r = re.compile('[.\-]') + r = re.compile(r'[.\-]') for n in r.split(dbapi_con.server_version): try: version.append(int(n)) diff --git a/lib/sqlalchemy/dialects/mysql/mysqldb.py b/lib/sqlalchemy/dialects/mysql/mysqldb.py index ff2572d68..6af860133 100644 --- a/lib/sqlalchemy/dialects/mysql/mysqldb.py +++ b/lib/sqlalchemy/dialects/mysql/mysqldb.py @@ -184,7 +184,7 @@ class MySQLDialect_mysqldb(MySQLDialect): def _get_server_version_info(self, connection): dbapi_con = connection.connection version = [] - r = re.compile('[.\-]') + r = re.compile(r'[.\-]') for n in r.split(dbapi_con.get_server_info()): try: version.append(int(n)) diff --git a/lib/sqlalchemy/dialects/mysql/oursql.py b/lib/sqlalchemy/dialects/mysql/oursql.py index d4f6f7031..f7f90e947 100644 --- a/lib/sqlalchemy/dialects/mysql/oursql.py +++ b/lib/sqlalchemy/dialects/mysql/oursql.py @@ -223,7 +223,7 @@ class MySQLDialect_oursql(MySQLDialect): def _get_server_version_info(self, connection): dbapi_con = connection.connection version = [] - r = re.compile('[.\-]') + r = re.compile(r'[.\-]') for n in r.split(dbapi_con.server_info): try: version.append(int(n)) diff --git a/lib/sqlalchemy/dialects/mysql/zxjdbc.py b/lib/sqlalchemy/dialects/mysql/zxjdbc.py index f65661d4a..9c92be4e6 100644 --- a/lib/sqlalchemy/dialects/mysql/zxjdbc.py +++ b/lib/sqlalchemy/dialects/mysql/zxjdbc.py @@ -106,7 +106,7 @@ class MySQLDialect_zxjdbc(ZxJDBCConnector, MySQLDialect): def _get_server_version_info(self, connection): dbapi_con = connection.connection version = [] - r = re.compile('[.\-]') + r = re.compile(r'[.\-]') for n in r.split(dbapi_con.dbversion): try: version.append(int(n)) diff --git a/lib/sqlalchemy/dialects/postgresql/base.py b/lib/sqlalchemy/dialects/postgresql/base.py index 8bf6e10c1..4e92422a3 100644 --- a/lib/sqlalchemy/dialects/postgresql/base.py +++ b/lib/sqlalchemy/dialects/postgresql/base.py @@ -5,7 +5,7 @@ # This module is part of SQLAlchemy and is released under # the MIT License: http://www.opensource.org/licenses/mit-license.php -""" +r""" .. dialect:: postgresql :name: PostgreSQL @@ -233,17 +233,17 @@ primary key identifiers. To specify an explicit ``RETURNING`` clause, use the :meth:`._UpdateBase.returning` method on a per-statement basis:: # INSERT..RETURNING - result = table.insert().returning(table.c.col1, table.c.col2).\\ + result = table.insert().returning(table.c.col1, table.c.col2).\ values(name='foo') print result.fetchall() # UPDATE..RETURNING - result = table.update().returning(table.c.col1, table.c.col2).\\ + result = table.update().returning(table.c.col1, table.c.col2).\ where(table.c.name=='foo').values(name='bar') print result.fetchall() # DELETE..RETURNING - result = table.delete().returning(table.c.col1, table.c.col2).\\ + result = table.delete().returning(table.c.col1, table.c.col2).\ where(table.c.name=='foo') print result.fetchall() @@ -2215,8 +2215,8 @@ class PGDialect(default.DefaultDialect): def _get_server_version_info(self, connection): v = connection.execute("select version()").scalar() m = re.match( - '.*(?:PostgreSQL|EnterpriseDB) ' - '(\d+)\.(\d+)(?:\.(\d+))?(?:\.\d+)?(?:devel)?', + r'.*(?:PostgreSQL|EnterpriseDB) ' + r'(\d+)\.(\d+)(?:\.(\d+))?(?:\.\d+)?(?:devel)?', v) if not m: raise AssertionError( @@ -2381,12 +2381,12 @@ class PGDialect(default.DefaultDialect): nullable = not notnull is_array = format_type.endswith('[]') - charlen = re.search('\(([\d,]+)\)', format_type) + charlen = re.search(r'\(([\d,]+)\)', format_type) if charlen: charlen = charlen.group(1) - args = re.search('\((.*)\)', format_type) + args = re.search(r'\((.*)\)', format_type) if args and args.group(1): - args = tuple(re.split('\s*,\s*', args.group(1))) + args = tuple(re.split(r'\s*,\s*', args.group(1))) else: args = () kwargs = {} @@ -2906,7 +2906,7 @@ class PGDialect(default.DefaultDialect): domains = {} for domain in c.fetchall(): # strip (30) from character varying(30) - attype = re.search('([^\(]+)', domain['attype']).group(1) + attype = re.search(r'([^\(]+)', domain['attype']).group(1) if domain['visible']: # 'visible' just means whether or not the domain is in a # schema that's on the search path -- or not overridden by diff --git a/lib/sqlalchemy/dialects/postgresql/ext.py b/lib/sqlalchemy/dialects/postgresql/ext.py index 519f19ae3..ec95f37b4 100644 --- a/lib/sqlalchemy/dialects/postgresql/ext.py +++ b/lib/sqlalchemy/dialects/postgresql/ext.py @@ -81,7 +81,7 @@ static/sql-createtable.html#SQL-CREATETABLE-EXCLUDE where = None def __init__(self, *elements, **kw): - """ + r""" :param \*elements: A sequence of two tuples of the form ``(column, operator)`` where column must be a column name or Column object and operator must diff --git a/lib/sqlalchemy/dialects/sqlite/base.py b/lib/sqlalchemy/dialects/sqlite/base.py index d6239f094..76193ff91 100644 --- a/lib/sqlalchemy/dialects/sqlite/base.py +++ b/lib/sqlalchemy/dialects/sqlite/base.py @@ -5,7 +5,7 @@ # This module is part of SQLAlchemy and is released under # the MIT License: http://www.opensource.org/licenses/mit-license.php -""" +r""" .. dialect:: sqlite :name: SQLite @@ -390,7 +390,7 @@ The bug, entirely outside of SQLAlchemy, can be illustrated thusly:: union select x.a, x.b from x where a=2 ''') - assert [c[0] for c in cursor.description] == ['a', 'b'], \\ + assert [c[0] for c in cursor.description] == ['a', 'b'], \ [c[0] for c in cursor.description] The second assertion fails:: @@ -527,7 +527,7 @@ class _DateTimeMixin(object): class DATETIME(_DateTimeMixin, sqltypes.DateTime): - """Represent a Python datetime object in SQLite using a string. + r"""Represent a Python datetime object in SQLite using a string. The default string storage format is:: @@ -621,7 +621,7 @@ class DATETIME(_DateTimeMixin, sqltypes.DateTime): class DATE(_DateTimeMixin, sqltypes.Date): - """Represent a Python date object in SQLite using a string. + r"""Represent a Python date object in SQLite using a string. The default string storage format is:: @@ -682,7 +682,7 @@ class DATE(_DateTimeMixin, sqltypes.Date): class TIME(_DateTimeMixin, sqltypes.Time): - """Represent a Python time object in SQLite using a string. + r"""Represent a Python time object in SQLite using a string. The default string storage format is:: @@ -1308,7 +1308,7 @@ class SQLiteDialect(default.DefaultDialect): constraint_name = None table_data = self._get_table_sql(connection, table_name, schema=schema) if table_data: - PK_PATTERN = 'CONSTRAINT (\w+) PRIMARY KEY' + PK_PATTERN = r'CONSTRAINT (\w+) PRIMARY KEY' result = re.search(PK_PATTERN, table_data, re.I) constraint_name = result.group(1) if result else None @@ -1381,11 +1381,11 @@ class SQLiteDialect(default.DefaultDialect): def parse_fks(): FK_PATTERN = ( - '(?:CONSTRAINT (\w+) +)?' - 'FOREIGN KEY *\( *(.+?) *\) +' - 'REFERENCES +(?:(?:"(.+?)")|([a-z0-9_]+)) *\((.+?)\) *' - '((?:ON (?:DELETE|UPDATE) ' - '(?:SET NULL|SET DEFAULT|CASCADE|RESTRICT|NO ACTION) *)*)' + r'(?:CONSTRAINT (\w+) +)?' + r'FOREIGN KEY *\( *(.+?) *\) +' + r'REFERENCES +(?:(?:"(.+?)")|([a-z0-9_]+)) *\((.+?)\) *' + r'((?:ON (?:DELETE|UPDATE) ' + r'(?:SET NULL|SET DEFAULT|CASCADE|RESTRICT|NO ACTION) *)*)' ) for match in re.finditer(FK_PATTERN, table_data, re.I): ( @@ -1462,10 +1462,10 @@ class SQLiteDialect(default.DefaultDialect): unique_constraints = [] def parse_uqs(): - UNIQUE_PATTERN = '(?:CONSTRAINT "?(.+?)"? +)?UNIQUE *\((.+?)\)' + UNIQUE_PATTERN = r'(?:CONSTRAINT "?(.+?)"? +)?UNIQUE *\((.+?)\)' INLINE_UNIQUE_PATTERN = ( - '(?:(".+?")|([a-z0-9]+)) ' - '+[a-z0-9_ ]+? +UNIQUE') + r'(?:(".+?")|([a-z0-9]+)) ' + r'+[a-z0-9_ ]+? +UNIQUE') for match in re.finditer(UNIQUE_PATTERN, table_data, re.I): name, cols = match.group(1, 2) @@ -1501,8 +1501,8 @@ class SQLiteDialect(default.DefaultDialect): return [] CHECK_PATTERN = ( - '(?:CONSTRAINT (\w+) +)?' - 'CHECK *\( *(.+) *\),? *' + r'(?:CONSTRAINT (\w+) +)?' + r'CHECK *\( *(.+) *\),? *' ) check_constraints = [] # NOTE: we aren't using re.S here because we actually are diff --git a/lib/sqlalchemy/dialects/sqlite/pysqlite.py b/lib/sqlalchemy/dialects/sqlite/pysqlite.py index b788435b7..40a7cbb07 100644 --- a/lib/sqlalchemy/dialects/sqlite/pysqlite.py +++ b/lib/sqlalchemy/dialects/sqlite/pysqlite.py @@ -5,7 +5,7 @@ # This module is part of SQLAlchemy and is released under # the MIT License: http://www.opensource.org/licenses/mit-license.php -""" +r""" .. dialect:: sqlite+pysqlite :name: pysqlite :dbapi: sqlite3 @@ -58,7 +58,7 @@ To use a Windows path, regular drive specifications and backslashes can be used. Double backslashes are probably needed:: # absolute path on Windows - e = create_engine('sqlite:///C:\\\\path\\\\to\\\\database.db') + e = create_engine('sqlite:///C:\\path\\to\\database.db') The sqlite ``:memory:`` identifier is the default if no filepath is present. Specify ``sqlite://`` and nothing else:: |
