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/engine | |
| 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/engine')
| -rw-r--r-- | lib/sqlalchemy/engine/base.py | 22 | ||||
| -rw-r--r-- | lib/sqlalchemy/engine/ddl.py | 8 | ||||
| -rw-r--r-- | lib/sqlalchemy/engine/default.py | 60 | ||||
| -rw-r--r-- | lib/sqlalchemy/engine/reflection.py | 18 | ||||
| -rw-r--r-- | lib/sqlalchemy/engine/result.py | 38 | ||||
| -rw-r--r-- | lib/sqlalchemy/engine/strategies.py | 25 | ||||
| -rw-r--r-- | lib/sqlalchemy/engine/url.py | 18 |
7 files changed, 96 insertions, 93 deletions
diff --git a/lib/sqlalchemy/engine/base.py b/lib/sqlalchemy/engine/base.py index b4c9b1e1c..9eb3d6128 100644 --- a/lib/sqlalchemy/engine/base.py +++ b/lib/sqlalchemy/engine/base.py @@ -9,7 +9,7 @@ """ -from __future__ import with_statement + import sys from .. import exc, schema, util, log, interfaces from ..sql import expression, util as sql_util @@ -460,7 +460,7 @@ class Connection(Connectable): try: self.engine.dialect.do_begin(self.connection) - except Exception, e: + except Exception as e: self._handle_dbapi_exception(e, None, None, None, None) def _rollback_impl(self): @@ -473,7 +473,7 @@ class Connection(Connectable): try: self.engine.dialect.do_rollback(self.connection) self.__transaction = None - except Exception, e: + except Exception as e: self._handle_dbapi_exception(e, None, None, None, None) else: self.__transaction = None @@ -487,7 +487,7 @@ class Connection(Connectable): try: self.engine.dialect.do_commit(self.connection) self.__transaction = None - except Exception, e: + except Exception as e: self._handle_dbapi_exception(e, None, None, None, None) def _savepoint_impl(self, name=None): @@ -688,7 +688,7 @@ class Connection(Connectable): dialect = self.dialect ctx = dialect.execution_ctx_cls._init_default( dialect, self, conn) - except Exception, e: + except Exception as e: self._handle_dbapi_exception(e, None, None, None, None) ret = ctx._exec_default(default, None) @@ -734,7 +734,7 @@ class Connection(Connectable): distilled_params = _distill_params(multiparams, params) if distilled_params: - keys = distilled_params[0].keys() + keys = list(distilled_params[0].keys()) else: keys = [] @@ -822,7 +822,7 @@ class Connection(Connectable): conn = self._revalidate_connection() context = constructor(dialect, self, conn, *args) - except Exception, e: + except Exception as e: self._handle_dbapi_exception(e, str(statement), parameters, None, None) @@ -865,7 +865,7 @@ class Connection(Connectable): statement, parameters, context) - except Exception, e: + except Exception as e: self._handle_dbapi_exception( e, statement, @@ -939,7 +939,7 @@ class Connection(Connectable): cursor, statement, parameters) - except Exception, e: + except Exception as e: self._handle_dbapi_exception( e, statement, @@ -954,7 +954,7 @@ class Connection(Connectable): """ try: cursor.close() - except Exception, e: + except Exception as e: try: ex_text = str(e) except TypeError: @@ -1045,7 +1045,7 @@ class Connection(Connectable): Compiled: _execute_compiled, schema.SchemaItem: _execute_default, schema.DDLElement: _execute_ddl, - basestring: _execute_text + str: _execute_text } def default_schema_name(self): diff --git a/lib/sqlalchemy/engine/ddl.py b/lib/sqlalchemy/engine/ddl.py index c61a9d59c..56f475e30 100644 --- a/lib/sqlalchemy/engine/ddl.py +++ b/lib/sqlalchemy/engine/ddl.py @@ -52,10 +52,10 @@ class SchemaGenerator(DDLBase): if self.tables is not None: tables = self.tables else: - tables = metadata.tables.values() + tables = list(metadata.tables.values()) collection = [t for t in sql_util.sort_tables(tables) if self._can_create_table(t)] - seq_coll = [s for s in metadata._sequences.values() + seq_coll = [s for s in list(metadata._sequences.values()) if s.column is None and self._can_create_sequence(s)] metadata.dispatch.before_create(metadata, self.connection, @@ -120,7 +120,7 @@ class SchemaDropper(DDLBase): if self.tables is not None: tables = self.tables else: - tables = metadata.tables.values() + tables = list(metadata.tables.values()) collection = [ t @@ -130,7 +130,7 @@ class SchemaDropper(DDLBase): seq_coll = [ s - for s in metadata._sequences.values() + for s in list(metadata._sequences.values()) if s.column is None and self._can_drop_sequence(s) ] diff --git a/lib/sqlalchemy/engine/default.py b/lib/sqlalchemy/engine/default.py index daa9fe085..9dda6d81e 100644 --- a/lib/sqlalchemy/engine/default.py +++ b/lib/sqlalchemy/engine/default.py @@ -57,17 +57,18 @@ class DefaultDialect(interfaces.Dialect): # *not* the FLOAT type however. supports_native_decimal = False - # Py3K - #supports_unicode_statements = True - #supports_unicode_binds = True - #returns_unicode_strings = True - #description_encoding = None - # Py2K - supports_unicode_statements = False - supports_unicode_binds = False - returns_unicode_strings = False - description_encoding = 'use_encoding' - # end Py2K +# start Py3K + supports_unicode_statements = True + supports_unicode_binds = True + returns_unicode_strings = True + description_encoding = None +# end Py3K +# start Py2K +# supports_unicode_statements = False +# supports_unicode_binds = False +# returns_unicode_strings = False +# description_encoding = 'use_encoding' +# end Py2K name = 'default' @@ -201,14 +202,15 @@ class DefaultDialect(interfaces.Dialect): return None def _check_unicode_returns(self, connection): - # Py2K - if self.supports_unicode_statements: - cast_to = unicode - else: - cast_to = str - # end Py2K - # Py3K - #cast_to = str +# start Py2K +# if self.supports_unicode_statements: +# cast_to = unicode +# else: +# cast_to = str +# end Py2K +# start Py3K + cast_to = str +# end Py3K def check_unicode(formatstr, type_): cursor = connection.connection.cursor() @@ -226,8 +228,8 @@ class DefaultDialect(interfaces.Dialect): ) row = cursor.fetchone() - return isinstance(row[0], unicode) - except self.dbapi.Error, de: + return isinstance(row[0], str) + except self.dbapi.Error as de: util.warn("Exception attempting to " "detect unicode returns: %r" % de) return False @@ -373,10 +375,10 @@ class DefaultExecutionContext(interfaces.ExecutionContext): self.execution_options.update(connection._execution_options) if not dialect.supports_unicode_statements: - self.unicode_statement = unicode(compiled) + self.unicode_statement = str(compiled) self.statement = dialect._encoder(self.unicode_statement)[0] else: - self.statement = self.unicode_statement = unicode(compiled) + self.statement = self.unicode_statement = str(compiled) self.cursor = self.create_cursor() self.compiled_parameters = [] @@ -414,7 +416,7 @@ class DefaultExecutionContext(interfaces.ExecutionContext): self.result_map = compiled.result_map - self.unicode_statement = unicode(compiled) + self.unicode_statement = str(compiled) if not dialect.supports_unicode_statements: self.statement = self.unicode_statement.encode( self.dialect.encoding) @@ -519,7 +521,7 @@ class DefaultExecutionContext(interfaces.ExecutionContext): self.executemany = len(parameters) > 1 if not dialect.supports_unicode_statements and \ - isinstance(statement, unicode): + isinstance(statement, str): self.unicode_statement = statement self.statement = dialect._encoder(statement)[0] else: @@ -573,7 +575,7 @@ class DefaultExecutionContext(interfaces.ExecutionContext): """ conn = self.root_connection - if isinstance(stmt, unicode) and \ + if isinstance(stmt, str) and \ not self.dialect.supports_unicode_statements: stmt = self.dialect._encoder(stmt)[0] @@ -734,12 +736,12 @@ class DefaultExecutionContext(interfaces.ExecutionContext): inputsizes.append(dbtype) try: self.cursor.setinputsizes(*inputsizes) - except Exception, e: + except Exception as e: self.root_connection._handle_dbapi_exception( e, None, None, None, self) else: inputsizes = {} - for key in self.compiled.bind_names.values(): + for key in list(self.compiled.bind_names.values()): typeengine = types[key] dbtype = typeengine.dialect_impl(self.dialect).\ get_dbapi_type(self.dialect.dbapi) @@ -752,7 +754,7 @@ class DefaultExecutionContext(interfaces.ExecutionContext): inputsizes[key] = dbtype try: self.cursor.setinputsizes(**inputsizes) - except Exception, e: + except Exception as e: self.root_connection._handle_dbapi_exception( e, None, None, None, self) diff --git a/lib/sqlalchemy/engine/reflection.py b/lib/sqlalchemy/engine/reflection.py index 90f21db09..cf4a1d532 100644 --- a/lib/sqlalchemy/engine/reflection.py +++ b/lib/sqlalchemy/engine/reflection.py @@ -41,8 +41,8 @@ def cache(fn, self, con, *args, **kw): return fn(self, con, *args, **kw) key = ( fn.__name__, - tuple(a for a in args if isinstance(a, basestring)), - tuple((k, v) for k, v in kw.iteritems() if isinstance(v, (basestring, int, float))) + tuple(a for a in args if isinstance(a, str)), + tuple((k, v) for k, v in kw.items() if isinstance(v, (str, int, float))) ) ret = info_cache.get(key) if ret is None: @@ -381,16 +381,16 @@ class Inspector(object): # table.kwargs will need to be passed to each reflection method. Make # sure keywords are strings. tblkw = table.kwargs.copy() - for (k, v) in tblkw.items(): + for (k, v) in list(tblkw.items()): del tblkw[k] tblkw[str(k)] = v - # Py2K - if isinstance(schema, str): - schema = schema.decode(dialect.encoding) - if isinstance(table_name, str): - table_name = table_name.decode(dialect.encoding) - # end Py2K +# start Py2K +# if isinstance(schema, str): +# schema = schema.decode(dialect.encoding) +# if isinstance(table_name, str): +# table_name = table_name.decode(dialect.encoding) +# end Py2K # columns found_table = False diff --git a/lib/sqlalchemy/engine/result.py b/lib/sqlalchemy/engine/result.py index 88930081e..0bd501423 100644 --- a/lib/sqlalchemy/engine/result.py +++ b/lib/sqlalchemy/engine/result.py @@ -8,7 +8,7 @@ and :class:`.RowProxy.""" -from itertools import izip + from .. import exc, types, util from ..sql import expression import collections @@ -55,7 +55,7 @@ except ImportError: return list(self) def __iter__(self): - for processor, value in izip(self._processors, self._row): + for processor, value in zip(self._processors, self._row): if processor is None: yield value else: @@ -72,7 +72,7 @@ except ImportError: except TypeError: if isinstance(key, slice): l = [] - for processor, value in izip(self._processors[key], + for processor, value in zip(self._processors[key], self._row[key]): if processor is None: l.append(value) @@ -93,7 +93,7 @@ except ImportError: def __getattr__(self, name): try: return self[name] - except KeyError, e: + except KeyError as e: raise AttributeError(e.args[0]) @@ -142,7 +142,7 @@ class RowProxy(BaseRowProxy): def items(self): """Return a list of tuples, each tuple containing a key/value pair.""" # TODO: no coverage here - return [(key, self[key]) for key in self.iterkeys()] + return [(key, self[key]) for key in self.keys()] def keys(self): """Return the list of keys as strings represented by this RowProxy.""" @@ -274,7 +274,7 @@ class ResultMetaData(object): def _key_fallback(self, key, raiseerr=True): map = self._keymap result = None - if isinstance(key, basestring): + if isinstance(key, str): result = map.get(key if self.case_sensitive else key.lower()) # fallback for targeting a ColumnElement to a textual expression # this is a rare use case which only occurs when matching text() @@ -328,8 +328,8 @@ class ResultMetaData(object): return { '_pickled_keymap': dict( (key, index) - for key, (processor, obj, index) in self._keymap.iteritems() - if isinstance(key, (basestring, int)) + for key, (processor, obj, index) in self._keymap.items() + if isinstance(key, (str, int)) ), 'keys': self.keys, "case_sensitive": self.case_sensitive, @@ -338,9 +338,9 @@ class ResultMetaData(object): def __setstate__(self, state): # the row has been processed at pickling time so we don't need any # processor anymore - self._processors = [None for _ in xrange(len(state['keys']))] + self._processors = [None for _ in range(len(state['keys']))] self._keymap = keymap = {} - for key, index in state['_pickled_keymap'].iteritems(): + for key, index in state['_pickled_keymap'].items(): # not preserving "obj" here, unfortunately our # proxy comparison fails with the unpickle keymap[key] = (None, None, index) @@ -440,7 +440,7 @@ class ResultProxy(object): """ try: return self.context.rowcount - except Exception, e: + except Exception as e: self.connection._handle_dbapi_exception( e, None, None, self.cursor, self.context) @@ -462,7 +462,7 @@ class ResultProxy(object): """ try: return self._saved_cursor.lastrowid - except Exception, e: + except Exception as e: self.connection._handle_dbapi_exception( e, None, None, self._saved_cursor, self.context) @@ -746,7 +746,7 @@ class ResultProxy(object): l = self.process_rows(self._fetchall_impl()) self.close() return l - except Exception, e: + except Exception as e: self.connection._handle_dbapi_exception( e, None, None, self.cursor, self.context) @@ -765,7 +765,7 @@ class ResultProxy(object): if len(l) == 0: self.close() return l - except Exception, e: + except Exception as e: self.connection._handle_dbapi_exception( e, None, None, self.cursor, self.context) @@ -784,7 +784,7 @@ class ResultProxy(object): else: self.close() return None - except Exception, e: + except Exception as e: self.connection._handle_dbapi_exception( e, None, None, self.cursor, self.context) @@ -800,7 +800,7 @@ class ResultProxy(object): try: row = self._fetchone_impl() - except Exception, e: + except Exception as e: self.connection._handle_dbapi_exception( e, None, None, self.cursor, self.context) @@ -966,9 +966,9 @@ class BufferedColumnResultProxy(ResultProxy): # constructed. metadata._orig_processors = metadata._processors # replace the all type processors by None processors. - metadata._processors = [None for _ in xrange(len(metadata.keys))] + metadata._processors = [None for _ in range(len(metadata.keys))] keymap = {} - for k, (func, obj, index) in metadata._keymap.iteritems(): + for k, (func, obj, index) in metadata._keymap.items(): keymap[k] = (None, obj, index) self._metadata._keymap = keymap @@ -989,7 +989,7 @@ class BufferedColumnResultProxy(ResultProxy): if size is None: return self.fetchall() l = [] - for i in xrange(size): + for i in range(size): row = self.fetchone() if row is None: break diff --git a/lib/sqlalchemy/engine/strategies.py b/lib/sqlalchemy/engine/strategies.py index 4c81df8f0..bed14c671 100644 --- a/lib/sqlalchemy/engine/strategies.py +++ b/lib/sqlalchemy/engine/strategies.py @@ -78,20 +78,21 @@ class DefaultEngineStrategy(EngineStrategy): def connect(): try: return dialect.connect(*cargs, **cparams) - except Exception, e: + except Exception as e: invalidated = dialect.is_disconnect(e, None, None) - # Py3K - #raise exc.DBAPIError.instance(None, None, - # e, dialect.dbapi.Error, - # connection_invalidated=invalidated - #) from e - # Py2K - import sys - raise exc.DBAPIError.instance( - None, None, e, dialect.dbapi.Error, +# start Py3K + raise exc.DBAPIError.instance(None, None, + e, dialect.dbapi.Error, connection_invalidated=invalidated - ), None, sys.exc_info()[2] - # end Py2K + ) from e +# end Py3K +# start Py2K +# import sys +# raise exc.DBAPIError.instance( +# None, None, e, dialect.dbapi.Error, +# connection_invalidated=invalidated +# ), None, sys.exc_info()[2] +# end Py2K creator = kwargs.pop('creator', connect) diff --git a/lib/sqlalchemy/engine/url.py b/lib/sqlalchemy/engine/url.py index c4931b48c..45768c5dc 100644 --- a/lib/sqlalchemy/engine/url.py +++ b/lib/sqlalchemy/engine/url.py @@ -14,7 +14,7 @@ be used directly and is also accepted directly by ``create_engine()``. """ import re -import urllib +import urllib.request, urllib.parse, urllib.error from .. import exc, util from . import Dialect @@ -67,7 +67,7 @@ class URL(object): if self.username is not None: s += self.username if self.password is not None: - s += ':' + urllib.quote_plus(self.password) + s += ':' + urllib.parse.quote_plus(self.password) s += "@" if self.host is not None: s += self.host @@ -76,7 +76,7 @@ class URL(object): if self.database is not None: s += '/' + self.database if self.query: - keys = self.query.keys() + keys = list(self.query.keys()) keys.sort() s += '?' + "&".join("%s=%s" % (k, self.query[k]) for k in keys) return s @@ -150,7 +150,7 @@ def make_url(name_or_url): existing URL object is passed, just returns the object. """ - if isinstance(name_or_url, basestring): + if isinstance(name_or_url, str): return _parse_rfc1738_args(name_or_url) else: return name_or_url @@ -177,17 +177,17 @@ def _parse_rfc1738_args(name): tokens = components['database'].split('?', 2) components['database'] = tokens[0] query = (len(tokens) > 1 and dict(util.parse_qsl(tokens[1]))) or None - # Py2K - if query is not None: - query = dict((k.encode('ascii'), query[k]) for k in query) - # end Py2K +# start Py2K +# if query is not None: +# query = dict((k.encode('ascii'), query[k]) for k in query) +# end Py2K else: query = None components['query'] = query if components['password'] is not None: components['password'] = \ - urllib.unquote_plus(components['password']) + urllib.parse.unquote_plus(components['password']) name = components.pop('name') return URL(name, **components) |
