diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2013-04-27 19:53:57 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2013-04-27 19:53:57 -0400 |
| commit | 4b614b9b35cd2baddb7ca67c04bee5d70ec6a172 (patch) | |
| tree | 7483cd269f5823f903f96709eb864fff9b6d9383 /lib/sqlalchemy/dialects | |
| parent | 9716a5c45e6185c5871555722d8495880f0e8c7a (diff) | |
| download | sqlalchemy-4b614b9b35cd2baddb7ca67c04bee5d70ec6a172.tar.gz | |
- the raw 2to3 run
- went through examples/ and cleaned out excess list() calls
Diffstat (limited to 'lib/sqlalchemy/dialects')
20 files changed, 205 insertions, 195 deletions
diff --git a/lib/sqlalchemy/dialects/firebird/base.py b/lib/sqlalchemy/dialects/firebird/base.py index 95196f44c..bb60a591e 100644 --- a/lib/sqlalchemy/dialects/firebird/base.py +++ b/lib/sqlalchemy/dialects/firebird/base.py @@ -685,7 +685,7 @@ class FBDialect(default.DefaultDialect): self.normalize_name(row['fname'])) fk['referred_columns'].append( self.normalize_name(row['targetfname'])) - return fks.values() + return list(fks.values()) @reflection.cache def get_indexes(self, connection, table_name, schema=None, **kw): @@ -716,7 +716,7 @@ class FBDialect(default.DefaultDialect): indexrec['column_names'].append( self.normalize_name(row['field_name'])) - return indexes.values() + return list(indexes.values()) def do_execute(self, cursor, statement, parameters, context=None): # kinterbase does not accept a None, but wants an empty list diff --git a/lib/sqlalchemy/dialects/informix/base.py b/lib/sqlalchemy/dialects/informix/base.py index 77361a5d0..691400e05 100644 --- a/lib/sqlalchemy/dialects/informix/base.py +++ b/lib/sqlalchemy/dialects/informix/base.py @@ -24,6 +24,7 @@ from sqlalchemy import sql, schema, exc, pool, util from sqlalchemy.sql import compiler, text from sqlalchemy.engine import default, reflection from sqlalchemy import types as sqltypes +from functools import reduce RESERVED_WORDS = set( ["abs", "absolute", "access", "access_method", "acos", "active", "add", @@ -298,7 +299,7 @@ class InfoDDLCompiler(compiler.DDLCompiler): def get_column_default_string(self, column): if (isinstance(column.server_default, schema.DefaultClause) and - isinstance(column.server_default.arg, basestring)): + isinstance(column.server_default.arg, str)): if isinstance(column.type, (sqltypes.Integer, sqltypes.Numeric)): return self.sql_compiler.process(text(column.server_default.arg)) @@ -322,10 +323,10 @@ class InfoDDLCompiler(compiler.DDLCompiler): remote_table = list(constraint._elements.values())[0].column.table text = "FOREIGN KEY (%s) REFERENCES %s (%s)" % ( ', '.join(preparer.quote(f.parent.name, f.parent.quote) - for f in constraint._elements.values()), + for f in list(constraint._elements.values())), preparer.format_table(remote_table), ', '.join(preparer.quote(f.column.name, f.column.quote) - for f in constraint._elements.values()) + for f in list(constraint._elements.values())) ) text += self.define_constraint_cascades(constraint) text += self.define_constraint_deferrability(constraint) @@ -506,7 +507,7 @@ class InformixDialect(default.DefaultDialect): if remote_column not in remote_cols: remote_cols.append(remote_column) - return fkeys.values() + return list(fkeys.values()) @reflection.cache def get_pk_constraint(self, connection, table_name, schema=None, **kw): diff --git a/lib/sqlalchemy/dialects/mssql/adodbapi.py b/lib/sqlalchemy/dialects/mssql/adodbapi.py index 167b4e807..080382d55 100644 --- a/lib/sqlalchemy/dialects/mssql/adodbapi.py +++ b/lib/sqlalchemy/dialects/mssql/adodbapi.py @@ -44,7 +44,7 @@ class MSDialect_adodbapi(MSDialect): @classmethod def import_dbapi(cls): - import adodbapi as module + from . import adodbapi as module return module colspecs = util.update_copy( diff --git a/lib/sqlalchemy/dialects/mssql/base.py b/lib/sqlalchemy/dialects/mssql/base.py index 70ffcb8cd..827cf0186 100644 --- a/lib/sqlalchemy/dialects/mssql/base.py +++ b/lib/sqlalchemy/dialects/mssql/base.py @@ -295,7 +295,7 @@ class _MSDate(sqltypes.Date): def process(value): if isinstance(value, datetime.datetime): return value.date() - elif isinstance(value, basestring): + elif isinstance(value, str): return datetime.date(*[ int(x or 0) for x in self._reg.match(value).groups() @@ -328,7 +328,7 @@ class TIME(sqltypes.TIME): def process(value): if isinstance(value, datetime.datetime): return value.time() - elif isinstance(value, basestring): + elif isinstance(value, str): return datetime.time(*[ int(x or 0) for x in self._reg.match(value).groups()]) @@ -1002,7 +1002,7 @@ class MSDDLCompiler(compiler.DDLCompiler): # handle other included columns if index.kwargs.get("mssql_include"): inclusions = [index.table.c[col] - if isinstance(col, basestring) else col + if isinstance(col, str) else col for col in index.kwargs["mssql_include"]] text += " INCLUDE (%s)" \ @@ -1103,7 +1103,7 @@ class MSDialect(default.DefaultDialect): query_timeout=None, use_scope_identity=True, max_identifier_length=None, - schema_name=u"dbo", **opts): + schema_name="dbo", **opts): self.query_timeout = int(query_timeout or 0) self.schema_name = schema_name @@ -1123,7 +1123,7 @@ class MSDialect(default.DefaultDialect): def initialize(self, connection): super(MSDialect, self).initialize(connection) - if self.server_version_info[0] not in range(8, 17): + if self.server_version_info[0] not in list(range(8, 17)): # FreeTDS with version 4.2 seems to report here # a number like "95.10.255". Don't know what # that is. So emit warning. @@ -1150,7 +1150,7 @@ class MSDialect(default.DefaultDialect): try: default_schema_name = connection.scalar(query, name=user_name) if default_schema_name is not None: - return unicode(default_schema_name) + return str(default_schema_name) except: pass return self.schema_name @@ -1188,7 +1188,7 @@ class MSDialect(default.DefaultDialect): s = sql.select([tables.c.table_name], sql.and_( tables.c.table_schema == owner, - tables.c.table_type == u'BASE TABLE' + tables.c.table_type == 'BASE TABLE' ), order_by=[tables.c.table_name] ) @@ -1202,7 +1202,7 @@ class MSDialect(default.DefaultDialect): s = sql.select([tables.c.table_name], sql.and_( tables.c.table_schema == owner, - tables.c.table_type == u'VIEW' + tables.c.table_type == 'VIEW' ), order_by=[tables.c.table_name] ) @@ -1267,7 +1267,7 @@ class MSDialect(default.DefaultDialect): if row['index_id'] in indexes: indexes[row['index_id']]['column_names'].append(row['name']) - return indexes.values() + return list(indexes.values()) @reflection.cache @_db_plus_owner @@ -1474,4 +1474,4 @@ class MSDialect(default.DefaultDialect): local_cols.append(scol) remote_cols.append(rcol) - return fkeys.values() + return list(fkeys.values()) diff --git a/lib/sqlalchemy/dialects/mssql/information_schema.py b/lib/sqlalchemy/dialects/mssql/information_schema.py index 80e59d323..61403271f 100644 --- a/lib/sqlalchemy/dialects/mssql/information_schema.py +++ b/lib/sqlalchemy/dialects/mssql/information_schema.py @@ -17,10 +17,10 @@ class CoerceUnicode(TypeDecorator): impl = Unicode def process_bind_param(self, value, dialect): - # Py2K - if isinstance(value, str): - value = value.decode(dialect.encoding) - # end Py2K +# start Py2K +# if isinstance(value, str): +# value = value.decode(dialect.encoding) +# end Py2K return value def bind_expression(self, bindvalue): diff --git a/lib/sqlalchemy/dialects/mssql/pyodbc.py b/lib/sqlalchemy/dialects/mssql/pyodbc.py index beb6066f5..5a359d179 100644 --- a/lib/sqlalchemy/dialects/mssql/pyodbc.py +++ b/lib/sqlalchemy/dialects/mssql/pyodbc.py @@ -219,7 +219,7 @@ class MSExecutionContext_pyodbc(MSExecutionContext): # without closing it (FreeTDS particularly) row = self.cursor.fetchall()[0] break - except self.dialect.dbapi.Error, e: + except self.dialect.dbapi.Error as e: # no way around this - nextset() consumes the previous set # so we need to just keep flipping self.cursor.nextset() diff --git a/lib/sqlalchemy/dialects/mysql/base.py b/lib/sqlalchemy/dialects/mysql/base.py index 38c86b116..c0497b14f 100644 --- a/lib/sqlalchemy/dialects/mysql/base.py +++ b/lib/sqlalchemy/dialects/mysql/base.py @@ -652,7 +652,7 @@ class BIT(sqltypes.TypeEngine): def process(value): if value is not None: - v = 0L + v = 0 for i in map(ord, value): v = v << 8 | i return v @@ -1171,7 +1171,7 @@ class SET(_StringType): super_convert = super(SET, self).bind_processor(dialect) def process(value): - if value is None or isinstance(value, (int, long, basestring)): + if value is None or isinstance(value, (int, str)): pass else: if None in value: @@ -1352,7 +1352,7 @@ class MySQLCompiler(compiler.SQLCompiler): of a SELECT. """ - if isinstance(select._distinct, basestring): + if isinstance(select._distinct, str): return select._distinct.upper() + " " elif select._distinct: return "DISTINCT " @@ -1441,7 +1441,7 @@ class MySQLDDLCompiler(compiler.DDLCompiler): MySQLDDLCompiler, self).create_table_constraints(table) engine_key = '%s_engine' % self.dialect.name - is_innodb = table.kwargs.has_key(engine_key) and \ + is_innodb = engine_key in table.kwargs and \ table.kwargs[engine_key].lower() == 'innodb' auto_inc_column = table._autoincrement_column @@ -1494,7 +1494,7 @@ class MySQLDDLCompiler(compiler.DDLCompiler): k[len(self.dialect.name) + 1:].upper(), v ) - for k, v in table.kwargs.items() + for k, v in list(table.kwargs.items()) if k.startswith('%s_' % self.dialect.name) ) @@ -2045,7 +2045,7 @@ class MySQLDialect(default.DefaultDialect): have = rs.fetchone() is not None rs.close() return have - except exc.DBAPIError, e: + except exc.DBAPIError as e: if self._extract_error_code(e.orig) == 1146: return False raise @@ -2328,7 +2328,7 @@ class MySQLDialect(default.DefaultDialect): rp = None try: rp = connection.execute(st) - except exc.DBAPIError, e: + except exc.DBAPIError as e: if self._extract_error_code(e.orig) == 1146: raise exc.NoSuchTableError(full_name) else: @@ -2352,7 +2352,7 @@ class MySQLDialect(default.DefaultDialect): try: try: rp = connection.execute(st) - except exc.DBAPIError, e: + except exc.DBAPIError as e: if self._extract_error_code(e.orig) == 1146: raise exc.NoSuchTableError(full_name) else: @@ -2485,7 +2485,7 @@ class MySQLTableDefinitionParser(object): for nope in ('auto_increment', 'data directory', 'index directory'): options.pop(nope, None) - for opt, val in options.items(): + for opt, val in list(options.items()): state.table_options['%s_%s' % (self.dialect.name, opt)] = val def _parse_column(self, line, state): @@ -2626,11 +2626,11 @@ class MySQLTableDefinitionParser(object): _final = self.preparer.final_quote - quotes = dict(zip(('iq', 'fq', 'esc_fq'), + quotes = dict(list(zip(('iq', 'fq', 'esc_fq'), [re.escape(s) for s in (self.preparer.initial_quote, _final, - self.preparer._escape_identifier(_final))])) + self.preparer._escape_identifier(_final))]))) self._pr_name = _pr_compile( r'^CREATE (?:\w+ +)?TABLE +' @@ -2802,11 +2802,12 @@ class _DecodingRowProxy(object): item = self.rowproxy[index] if isinstance(item, _array): item = item.tostring() - # Py2K - if self.charset and isinstance(item, str): - # end Py2K - # Py3K - #if self.charset and isinstance(item, bytes): +# start Py2K +# if self.charset and isinstance(item, str): +# end Py2K +# start Py3K + if self.charset and isinstance(item, bytes): +# end Py3K return item.decode(self.charset) else: return item @@ -2815,11 +2816,12 @@ class _DecodingRowProxy(object): item = getattr(self.rowproxy, attr) if isinstance(item, _array): item = item.tostring() - # Py2K - if self.charset and isinstance(item, str): - # end Py2K - # Py3K - #if self.charset and isinstance(item, bytes): +# start Py2K +# if self.charset and isinstance(item, str): +# end Py2K +# start Py3K + if self.charset and isinstance(item, bytes): +# end Py3K return item.decode(self.charset) else: return item diff --git a/lib/sqlalchemy/dialects/mysql/cymysql.py b/lib/sqlalchemy/dialects/mysql/cymysql.py index 0806f63b4..6fcbc2307 100644 --- a/lib/sqlalchemy/dialects/mysql/cymysql.py +++ b/lib/sqlalchemy/dialects/mysql/cymysql.py @@ -25,15 +25,16 @@ class _cymysqlBIT(BIT): def process(value): if value is not None: - # Py2K - v = 0L - for i in map(ord, value): +# start Py2K +# v = 0L +# for i in map(ord, value): +# v = v << 8 | i +# end Py2K +# start Py3K + v = 0 + for i in value: v = v << 8 | i - # end Py2K - # Py3K - #v = 0 - #for i in value: - # v = v << 8 | i +# end Py3K return v return value return process diff --git a/lib/sqlalchemy/dialects/mysql/oursql.py b/lib/sqlalchemy/dialects/mysql/oursql.py index db24adf03..b97afe933 100644 --- a/lib/sqlalchemy/dialects/mysql/oursql.py +++ b/lib/sqlalchemy/dialects/mysql/oursql.py @@ -55,9 +55,9 @@ class MySQLExecutionContext_oursql(MySQLExecutionContext): class MySQLDialect_oursql(MySQLDialect): driver = 'oursql' -# Py2K - supports_unicode_binds = True - supports_unicode_statements = True +# start Py2K +# supports_unicode_binds = True +# supports_unicode_statements = True # end Py2K supports_native_decimal = True @@ -90,12 +90,13 @@ class MySQLDialect_oursql(MySQLDialect): connection.cursor().execute('BEGIN', plain_query=True) def _xa_query(self, connection, query, xid): -# Py2K - arg = connection.connection._escape_string(xid) +# start Py2K +# arg = connection.connection._escape_string(xid) # end Py2K -# Py3K -# charset = self._connection_charset -# arg = connection.connection._escape_string(xid.encode(charset)).decode(charset) +# start Py3K + charset = self._connection_charset + arg = connection.connection._escape_string(xid.encode(charset)).decode(charset) +# end Py3K arg = "'%s'" % arg connection.execution_options(_oursql_plain_query=True).execute(query % arg) diff --git a/lib/sqlalchemy/dialects/mysql/zxjdbc.py b/lib/sqlalchemy/dialects/mysql/zxjdbc.py index ea01da21c..20f2e7359 100644 --- a/lib/sqlalchemy/dialects/mysql/zxjdbc.py +++ b/lib/sqlalchemy/dialects/mysql/zxjdbc.py @@ -37,7 +37,7 @@ class _ZxJDBCBit(BIT): return value if isinstance(value, bool): return int(value) - v = 0L + v = 0 for i in value: v = v << 8 | (i & 0xff) value = v diff --git a/lib/sqlalchemy/dialects/oracle/base.py b/lib/sqlalchemy/dialects/oracle/base.py index 831ba5f1b..a45793367 100644 --- a/lib/sqlalchemy/dialects/oracle/base.py +++ b/lib/sqlalchemy/dialects/oracle/base.py @@ -437,7 +437,7 @@ class OracleCompiler(compiler.SQLCompiler): def get_select_hint_text(self, byfroms): return " ".join( - "/*+ %s */" % text for table, text in byfroms.items() + "/*+ %s */" % text for table, text in list(byfroms.items()) ) def function_argspec(self, fn, **kw): @@ -654,14 +654,14 @@ class OracleDDLCompiler(compiler.DDLCompiler): class OracleIdentifierPreparer(compiler.IdentifierPreparer): reserved_words = set([x.lower() for x in RESERVED_WORDS]) - illegal_initial_characters = set(xrange(0, 10)).union(["_", "$"]) + illegal_initial_characters = set(range(0, 10)).union(["_", "$"]) def _bindparam_requires_quotes(self, value): """Return True if the given identifier requires quoting.""" lc_value = value.lower() return (lc_value in self.reserved_words or value[0] in self.illegal_initial_characters - or not self.legal_characters.match(unicode(value)) + or not self.legal_characters.match(str(value)) ) def format_savepoint(self, savepoint): @@ -765,10 +765,10 @@ class OracleDialect(default.DefaultDialect): def normalize_name(self, name): if name is None: return None - # Py2K - if isinstance(name, str): - name = name.decode(self.encoding) - # end Py2K +# start Py2K +# if isinstance(name, str): +# name = name.decode(self.encoding) +# end Py2K if name.upper() == name and \ not self.identifier_preparer._requires_quotes(name.lower()): return name.lower() @@ -780,16 +780,16 @@ class OracleDialect(default.DefaultDialect): return None elif name.lower() == name and not self.identifier_preparer._requires_quotes(name.lower()): name = name.upper() - # Py2K - if not self.supports_unicode_binds: - name = name.encode(self.encoding) - else: - name = unicode(name) - # end Py2K +# start Py2K +# if not self.supports_unicode_binds: +# name = name.encode(self.encoding) +# else: +# name = unicode(name) +# end Py2K return name def _get_default_schema_name(self, connection): - return self.normalize_name(connection.execute(u'SELECT USER FROM DUAL').scalar()) + return self.normalize_name(connection.execute('SELECT USER FROM DUAL').scalar()) def _resolve_synonym(self, connection, desired_owner=None, desired_synonym=None, desired_table=None): """search for a local synonym matching the given desired owner/name. @@ -1167,7 +1167,7 @@ class OracleDialect(default.DefaultDialect): local_cols.append(local_column) remote_cols.append(remote_column) - return fkeys.values() + return list(fkeys.values()) @reflection.cache def get_view_definition(self, connection, view_name, schema=None, diff --git a/lib/sqlalchemy/dialects/oracle/cx_oracle.py b/lib/sqlalchemy/dialects/oracle/cx_oracle.py index b8f7439f5..10ec20dee 100644 --- a/lib/sqlalchemy/dialects/oracle/cx_oracle.py +++ b/lib/sqlalchemy/dialects/oracle/cx_oracle.py @@ -182,7 +182,7 @@ a period "." as the decimal character. """ -from __future__ import absolute_import + from .base import OracleCompiler, OracleDialect, OracleExecutionContext from . import base as oracle @@ -268,20 +268,21 @@ class _LOBMixin(object): class _NativeUnicodeMixin(object): - # Py3K - #pass - # Py2K - def bind_processor(self, dialect): - if dialect._cx_oracle_with_unicode: - def process(value): - if value is None: - return value - else: - return unicode(value) - return process - else: - return super(_NativeUnicodeMixin, self).bind_processor(dialect) - # end Py2K +# start Py3K + pass +# end Py3K +# start Py2K +# def bind_processor(self, dialect): +# if dialect._cx_oracle_with_unicode: +# def process(value): +# if value is None: +# return value +# else: +# return unicode(value) +# return process +# else: +# return super(_NativeUnicodeMixin, self).bind_processor(dialect) +# end Py2K # we apply a connection output handler that returns # unicode in all cases, so the "native_unicode" flag @@ -391,10 +392,10 @@ class OracleExecutionContext_cx_oracle(OracleExecutionContext): (fromname.encode(self.dialect.encoding), toname.encode(self.dialect.encoding)) for fromname, toname in - quoted_bind_names.items() + list(quoted_bind_names.items()) ) for param in self.parameters: - for fromname, toname in quoted_bind_names.items(): + for fromname, toname in list(quoted_bind_names.items()): param[toname] = param[fromname] del param[fromname] @@ -408,7 +409,7 @@ class OracleExecutionContext_cx_oracle(OracleExecutionContext): # if a single execute, check for outparams if len(self.compiled_parameters) == 1: - for bindparam in self.compiled.binds.values(): + for bindparam in list(self.compiled.binds.values()): if bindparam.isoutparam: dbtype = bindparam.type.dialect_impl(self.dialect).\ get_dbapi_type(self.dialect.dbapi) @@ -437,7 +438,7 @@ class OracleExecutionContext_cx_oracle(OracleExecutionContext): if hasattr(self, 'out_parameters') and self.compiled.returning: returning_params = dict( (k, v.getvalue()) - for k, v in self.out_parameters.items() + for k, v in list(self.out_parameters.items()) ) return ReturningResultProxy(self, returning_params) @@ -456,7 +457,7 @@ class OracleExecutionContext_cx_oracle(OracleExecutionContext): len(self.compiled_parameters) == 1: result.out_parameters = out_parameters = {} - for bind, name in self.compiled.bind_names.items(): + for bind, name in list(self.compiled.bind_names.items()): if name in self.out_parameters: type = bind.type impl_type = type.dialect_impl(self.dialect) @@ -472,7 +473,7 @@ class OracleExecutionContext_cx_oracle(OracleExecutionContext): else: result.out_parameters = dict( (k, v.getvalue()) - for k, v in self.out_parameters.items() + for k, v in list(self.out_parameters.items()) ) return result @@ -493,11 +494,11 @@ class OracleExecutionContext_cx_oracle_with_unicode(OracleExecutionContext_cx_or """ def __init__(self, *arg, **kw): OracleExecutionContext_cx_oracle.__init__(self, *arg, **kw) - self.statement = unicode(self.statement) + self.statement = str(self.statement) def _execute_scalar(self, stmt): return super(OracleExecutionContext_cx_oracle_with_unicode, self).\ - _execute_scalar(unicode(stmt)) + _execute_scalar(str(stmt)) class ReturningResultProxy(_result.FullyBufferedResultProxy): @@ -607,19 +608,19 @@ class OracleDialect_cx_oracle(OracleDialect): self.supports_unicode_statements = True self.supports_unicode_binds = True self._cx_oracle_with_unicode = True - # Py2K - # There's really no reason to run with WITH_UNICODE under Python 2.x. - # Give the user a hint. - util.warn("cx_Oracle is compiled under Python 2.xx using the " - "WITH_UNICODE flag. Consider recompiling cx_Oracle without " - "this flag, which is in no way necessary for full support of Unicode. " - "Otherwise, all string-holding bind parameters must " - "be explicitly typed using SQLAlchemy's String type or one of its subtypes," - "or otherwise be passed as Python unicode. Plain Python strings " - "passed as bind parameters will be silently corrupted by cx_Oracle." - ) - self.execution_ctx_cls = OracleExecutionContext_cx_oracle_with_unicode - # end Py2K +# start Py2K +# # There's really no reason to run with WITH_UNICODE under Python 2.x. +# # Give the user a hint. +# util.warn("cx_Oracle is compiled under Python 2.xx using the " +# "WITH_UNICODE flag. Consider recompiling cx_Oracle without " +# "this flag, which is in no way necessary for full support of Unicode. " +# "Otherwise, all string-holding bind parameters must " +# "be explicitly typed using SQLAlchemy's String type or one of its subtypes," +# "or otherwise be passed as Python unicode. Plain Python strings " +# "passed as bind parameters will be silently corrupted by cx_Oracle." +# ) +# self.execution_ctx_cls = OracleExecutionContext_cx_oracle_with_unicode +# end Py2K else: self._cx_oracle_with_unicode = False @@ -731,7 +732,7 @@ class OracleDialect_cx_oracle(OracleDialect): arraysize=cursor.arraysize) # allow all strings to come back natively as Unicode elif defaultType in (cx_Oracle.STRING, cx_Oracle.FIXED_CHAR): - return cursor.var(unicode, size, cursor.arraysize) + return cursor.var(str, size, cursor.arraysize) def on_connect(conn): conn.outputtypehandler = output_type_handler @@ -766,20 +767,20 @@ class OracleDialect_cx_oracle(OracleDialect): twophase=self.allow_twophase, ) - # Py2K - if self._cx_oracle_with_unicode: - for k, v in opts.items(): - if isinstance(v, str): - opts[k] = unicode(v) - else: - for k, v in opts.items(): - if isinstance(v, unicode): - opts[k] = str(v) - # end Py2K +# start Py2K +# if self._cx_oracle_with_unicode: +# for k, v in opts.items(): +# if isinstance(v, str): +# opts[k] = unicode(v) +# else: +# for k, v in opts.items(): +# if isinstance(v, unicode): +# opts[k] = str(v) +# end Py2K if 'mode' in url.query: opts['mode'] = url.query['mode'] - if isinstance(opts['mode'], basestring): + if isinstance(opts['mode'], str): mode = opts['mode'].upper() if mode == 'SYSDBA': opts['mode'] = self.dbapi.SYSDBA diff --git a/lib/sqlalchemy/dialects/oracle/zxjdbc.py b/lib/sqlalchemy/dialects/oracle/zxjdbc.py index d74f21aca..ad53b89a1 100644 --- a/lib/sqlalchemy/dialects/oracle/zxjdbc.py +++ b/lib/sqlalchemy/dialects/oracle/zxjdbc.py @@ -95,8 +95,8 @@ class OracleExecutionContext_zxjdbc(OracleExecutionContext): try: try: rrs = self.statement.__statement__.getReturnResultSet() - rrs.next() - except SQLException, sqle: + next(rrs) + except SQLException as sqle: msg = '%s [SQLCode: %d]' % (sqle.getMessage(), sqle.getErrorCode()) if sqle.getSQLState() is not None: msg += ' [SQLState: %s]' % sqle.getSQLState() diff --git a/lib/sqlalchemy/dialects/postgresql/base.py b/lib/sqlalchemy/dialects/postgresql/base.py index 1acdb57b9..992995434 100644 --- a/lib/sqlalchemy/dialects/postgresql/base.py +++ b/lib/sqlalchemy/dialects/postgresql/base.py @@ -1419,7 +1419,7 @@ class PGDialect(default.DefaultDialect): query, bindparams=[ sql.bindparam( - 'schema', unicode(schema.lower()), + 'schema', str(schema.lower()), type_=sqltypes.Unicode)] ) ) @@ -1435,7 +1435,7 @@ class PGDialect(default.DefaultDialect): "n.oid=c.relnamespace where n.nspname=current_schema() and " "relname=:name", bindparams=[ - sql.bindparam('name', unicode(table_name), + sql.bindparam('name', str(table_name), type_=sqltypes.Unicode)] ) ) @@ -1447,9 +1447,9 @@ class PGDialect(default.DefaultDialect): "relname=:name", bindparams=[ sql.bindparam('name', - unicode(table_name), type_=sqltypes.Unicode), + str(table_name), type_=sqltypes.Unicode), sql.bindparam('schema', - unicode(schema), type_=sqltypes.Unicode)] + str(schema), type_=sqltypes.Unicode)] ) ) return bool(cursor.first()) @@ -1463,7 +1463,7 @@ class PGDialect(default.DefaultDialect): "n.nspname=current_schema() " "and relname=:name", bindparams=[ - sql.bindparam('name', unicode(sequence_name), + sql.bindparam('name', str(sequence_name), type_=sqltypes.Unicode) ] ) @@ -1475,10 +1475,10 @@ class PGDialect(default.DefaultDialect): "n.oid=c.relnamespace where relkind='S' and " "n.nspname=:schema and relname=:name", bindparams=[ - sql.bindparam('name', unicode(sequence_name), + sql.bindparam('name', str(sequence_name), type_=sqltypes.Unicode), sql.bindparam('schema', - unicode(schema), type_=sqltypes.Unicode) + str(schema), type_=sqltypes.Unicode) ] ) ) @@ -1488,9 +1488,9 @@ class PGDialect(default.DefaultDialect): def has_type(self, connection, type_name, schema=None): bindparams = [ sql.bindparam('typname', - unicode(type_name), type_=sqltypes.Unicode), + str(type_name), type_=sqltypes.Unicode), sql.bindparam('nspname', - unicode(schema), type_=sqltypes.Unicode), + str(schema), type_=sqltypes.Unicode), ] if schema is not None: query = """ @@ -1546,9 +1546,9 @@ class PGDialect(default.DefaultDialect): """ % schema_where_clause # Since we're binding to unicode, table_name and schema_name must be # unicode. - table_name = unicode(table_name) + table_name = str(table_name) if schema is not None: - schema = unicode(schema) + schema = str(schema) s = sql.text(query, bindparams=[ sql.bindparam('table_name', type_=sqltypes.Unicode), sql.bindparam('schema', type_=sqltypes.Unicode) @@ -1570,13 +1570,14 @@ class PGDialect(default.DefaultDialect): """ rp = connection.execute(s) # what about system tables? - # Py3K - #schema_names = [row[0] for row in rp \ - # if not row[0].startswith('pg_')] - # Py2K - schema_names = [row[0].decode(self.encoding) for row in rp \ +# start Py3K + schema_names = [row[0] for row in rp \ if not row[0].startswith('pg_')] - # end Py2K +# end Py3K +# start Py2K +# schema_names = [row[0].decode(self.encoding) for row in rp \ +# if not row[0].startswith('pg_')] +# end Py2K return schema_names @reflection.cache @@ -1587,7 +1588,7 @@ class PGDialect(default.DefaultDialect): current_schema = self.default_schema_name result = connection.execute( - sql.text(u"SELECT relname FROM pg_class c " + sql.text("SELECT relname FROM pg_class c " "WHERE relkind = 'r' " "AND '%s' = (select nspname from pg_namespace n " "where n.oid = c.relnamespace) " % @@ -1610,12 +1611,13 @@ class PGDialect(default.DefaultDialect): AND '%(schema)s' = (select nspname from pg_namespace n where n.oid = c.relnamespace) """ % dict(schema=current_schema) - # Py3K - #view_names = [row[0] for row in connection.execute(s)] - # Py2K - view_names = [row[0].decode(self.encoding) - for row in connection.execute(s)] - # end Py2K +# start Py3K + view_names = [row[0] for row in connection.execute(s)] +# end Py3K +# start Py2K +# view_names = [row[0].decode(self.encoding) +# for row in connection.execute(s)] +# end Py2K return view_names @reflection.cache @@ -1632,11 +1634,12 @@ class PGDialect(default.DefaultDialect): rp = connection.execute(sql.text(s), view_name=view_name, schema=current_schema) if rp: - # Py3K - #view_def = rp.scalar() - # Py2K - view_def = rp.scalar().decode(self.encoding) - # end Py2K +# start Py3K + view_def = rp.scalar() +# end Py3K +# start Py2K +# view_def = rp.scalar().decode(self.encoding) +# end Py2K return view_def @reflection.cache diff --git a/lib/sqlalchemy/dialects/postgresql/hstore.py b/lib/sqlalchemy/dialects/postgresql/hstore.py index e555a1afd..d7fd34d05 100644 --- a/lib/sqlalchemy/dialects/postgresql/hstore.py +++ b/lib/sqlalchemy/dialects/postgresql/hstore.py @@ -96,14 +96,14 @@ def _serialize_hstore(val): def esc(s, position): if position == 'value' and s is None: return 'NULL' - elif isinstance(s, basestring): + elif isinstance(s, str): return '"%s"' % s.replace('"', r'\"') else: raise ValueError("%r in %s position is not a string." % (s, position)) return ', '.join('%s=>%s' % (esc(k, 'key'), esc(v, 'value')) - for k, v in val.iteritems()) + for k, v in val.items()) class HSTORE(sqltypes.Concatenable, sqltypes.TypeEngine): diff --git a/lib/sqlalchemy/dialects/postgresql/psycopg2.py b/lib/sqlalchemy/dialects/postgresql/psycopg2.py index 805fc72af..2893a3872 100644 --- a/lib/sqlalchemy/dialects/postgresql/psycopg2.py +++ b/lib/sqlalchemy/dialects/postgresql/psycopg2.py @@ -142,7 +142,7 @@ type. This replaces SQLAlchemy's pure-Python HSTORE coercion which takes effect for other DBAPIs. """ -from __future__ import absolute_import + import re import logging @@ -190,22 +190,22 @@ class _PGNumeric(sqltypes.Numeric): class _PGEnum(ENUM): def __init__(self, *arg, **kw): super(_PGEnum, self).__init__(*arg, **kw) - # Py2K - if self.convert_unicode: - self.convert_unicode = "force" - # end Py2K +# start Py2K +# if self.convert_unicode: +# self.convert_unicode = "force" +# end Py2K class _PGArray(ARRAY): def __init__(self, *arg, **kw): super(_PGArray, self).__init__(*arg, **kw) - # Py2K - # FIXME: this check won't work for setups that - # have convert_unicode only on their create_engine(). - if isinstance(self.item_type, sqltypes.String) and \ - self.item_type.convert_unicode: - self.item_type.convert_unicode = "force" - # end Py2K +# start Py2K +# # FIXME: this check won't work for setups that +# # have convert_unicode only on their create_engine(). +# if isinstance(self.item_type, sqltypes.String) and \ +# self.item_type.convert_unicode: +# self.item_type.convert_unicode = "force" +# end Py2K class _PGHStore(HSTORE): @@ -294,9 +294,9 @@ class PGIdentifierPreparer_psycopg2(PGIdentifierPreparer): class PGDialect_psycopg2(PGDialect): driver = 'psycopg2' - # Py2K - supports_unicode_statements = False - # end Py2K +# start Py2K +# supports_unicode_statements = False +# end Py2K default_paramstyle = 'pyformat' supports_sane_multi_rowcount = False execution_ctx_cls = PGExecutionContext_psycopg2 diff --git a/lib/sqlalchemy/dialects/sqlite/base.py b/lib/sqlalchemy/dialects/sqlite/base.py index f21a81d0c..d742a71b5 100644 --- a/lib/sqlalchemy/dialects/sqlite/base.py +++ b/lib/sqlalchemy/dialects/sqlite/base.py @@ -508,7 +508,7 @@ class SQLiteDDLCompiler(compiler.DDLCompiler): def visit_foreign_key_constraint(self, constraint): - local_table = constraint._elements.values()[0].parent.table + local_table = list(constraint._elements.values())[0].parent.table remote_table = list(constraint._elements.values())[0].column.table if local_table.schema != remote_table.schema: @@ -812,7 +812,7 @@ class SQLiteDialect(default.DefaultDialect): coltype = sqltypes.NullType() if default is not None: - default = unicode(default) + default = str(default) return { 'name': name, diff --git a/lib/sqlalchemy/dialects/sqlite/pysqlite.py b/lib/sqlalchemy/dialects/sqlite/pysqlite.py index d827607ba..4a86d38d2 100644 --- a/lib/sqlalchemy/dialects/sqlite/pysqlite.py +++ b/lib/sqlalchemy/dialects/sqlite/pysqlite.py @@ -267,8 +267,9 @@ class SQLiteDialect_pysqlite(SQLiteDialect): } ) - # Py3K - #description_encoding = None +# start Py3K + description_encoding = None +# end Py3K driver = 'pysqlite' @@ -288,7 +289,7 @@ class SQLiteDialect_pysqlite(SQLiteDialect): def dbapi(cls): try: from pysqlite2 import dbapi2 as sqlite - except ImportError, e: + except ImportError as e: try: from sqlite3 import dbapi2 as sqlite # try 2.5+ stdlib name. except ImportError: diff --git a/lib/sqlalchemy/dialects/sybase/__init__.py b/lib/sqlalchemy/dialects/sybase/__init__.py index 7d504e54e..f61352ceb 100644 --- a/lib/sqlalchemy/dialects/sybase/__init__.py +++ b/lib/sqlalchemy/dialects/sybase/__init__.py @@ -9,7 +9,7 @@ from sqlalchemy.dialects.sybase import base, pysybase, pyodbc # default dialect base.dialect = pyodbc.dialect -from base import CHAR, VARCHAR, TIME, NCHAR, NVARCHAR,\ +from .base import CHAR, VARCHAR, TIME, NCHAR, NVARCHAR,\ TEXT, DATE, DATETIME, FLOAT, NUMERIC,\ BIGINT, INT, INTEGER, SMALLINT, BINARY,\ VARBINARY, UNITEXT, UNICHAR, UNIVARCHAR,\ diff --git a/lib/sqlalchemy/dialects/sybase/base.py b/lib/sqlalchemy/dialects/sybase/base.py index a9e5c5fda..6770ed8e7 100644 --- a/lib/sqlalchemy/dialects/sybase/base.py +++ b/lib/sqlalchemy/dialects/sybase/base.py @@ -475,12 +475,12 @@ class SybaseDialect(default.DefaultDialect): AND o.type in ('U', 'V') """) - # Py2K - if isinstance(schema, unicode): - schema = schema.encode("ascii") - if isinstance(table_name, unicode): - table_name = table_name.encode("ascii") - # end Py2K +# start Py2K +# if isinstance(schema, unicode): +# schema = schema.encode("ascii") +# if isinstance(table_name, unicode): +# table_name = table_name.encode("ascii") +# end Py2K result = connection.execute(TABLEID_SQL, schema_name=schema, table_name=table_name) @@ -759,10 +759,10 @@ class SybaseDialect(default.DefaultDialect): AND o.type = 'U' """) - # Py2K - if isinstance(schema, unicode): - schema = schema.encode("ascii") - # end Py2K +# start Py2K +# if isinstance(schema, unicode): +# schema = schema.encode("ascii") +# end Py2K tables = connection.execute(TABLE_SQL, schema_name=schema) return [t["name"] for t in tables] @@ -779,10 +779,10 @@ class SybaseDialect(default.DefaultDialect): AND o.type = 'V' """) - # Py2K - if isinstance(view_name, unicode): - view_name = view_name.encode("ascii") - # end Py2K +# start Py2K +# if isinstance(view_name, unicode): +# view_name = view_name.encode("ascii") +# end Py2K view = connection.execute(VIEW_DEF_SQL, view_name=view_name) return view.scalar() @@ -799,10 +799,10 @@ class SybaseDialect(default.DefaultDialect): AND o.type = 'V' """) - # Py2K - if isinstance(schema, unicode): - schema = schema.encode("ascii") - # end Py2K +# start Py2K +# if isinstance(schema, unicode): +# schema = schema.encode("ascii") +# end Py2K views = connection.execute(VIEW_SQL, schema_name=schema) return [v["name"] for v in views] |
