]> git.ipfire.org Git - thirdparty/sqlalchemy/alembic.git/commitdiff
Use relative imports
authorHong Minhee <minhee@dahlia.kr>
Wed, 10 Apr 2013 20:34:07 +0000 (05:34 +0900)
committerHong Minhee <minhee@dahlia.kr>
Wed, 10 Apr 2013 20:34:07 +0000 (05:34 +0900)
This change does not affect to any behaviors of it, but is just stylish
improvements to remove 2to3 dependency.

1. All old-style absolute imports e.g. `from alembic import util` are
   replaced by relative imports e.g. `from . import util`.

2. Use of proxy modules (`alembic.op` and `alembic.context`) are replaced
   by deferred import patterns, but these modules still exist.

3. Imports are grouped by 3 types of their origins (standard libraries,
   third party libraries, and local modules) and blank lines are put between
   each group of imports.  This style is from PEP 8:

   <http://www.python.org/dev/peps/pep-0008/#imports>

For stylish change, I can't do that much, because it was intentionally done
as it was by the author.  If the author will allow me to make it more closer
to PEP 8 style, I will do that as well.

31 files changed:
alembic/__init__.py
alembic/autogenerate.py
alembic/command.py
alembic/config.py
alembic/context.py
alembic/ddl/__init__.py
alembic/ddl/base.py
alembic/ddl/impl.py
alembic/ddl/mssql.py
alembic/ddl/mysql.py
alembic/ddl/oracle.py
alembic/ddl/postgresql.py
alembic/ddl/sqlite.py
alembic/environment.py
alembic/migration.py
alembic/op.py
alembic/operations.py
alembic/script.py
alembic/util.py
tests/__init__.py
tests/test_autogenerate.py
tests/test_bulk_insert.py
tests/test_config.py
tests/test_mssql.py
tests/test_mysql.py
tests/test_offline_environment.py
tests/test_op.py
tests/test_oracle.py
tests/test_postgresql.py
tests/test_sql_script.py
tests/test_versioning.py

index eb810282e20ca65940e2e1a68dbaf8d72806289f..0625c43224a186852dc2dbd7a8e5acbd6f28490c 100644 (file)
@@ -5,6 +5,6 @@ __version__ = '0.5.0'
 package_dir = path.abspath(path.dirname(__file__))
 
 
-from alembic import op
-from alembic import context
+from . import op
+from . import context
 
index 91ddcfca1ba649240f27e81692d538b389291d0f..c54d788f7e55622ff3620fafe9c07f8c4fe67e59 100644 (file)
@@ -1,13 +1,14 @@
 """Provide the 'autogenerate' feature which can produce migration operations
 automatically."""
 
-from alembic import util
+import logging
+import re
+
+from . import util
 from sqlalchemy.engine.reflection import Inspector
 from sqlalchemy.util import OrderedSet
 from sqlalchemy import schema as sa_schema, types as sqltypes
-import re
 
-import logging
 log = logging.getLogger(__name__)
 
 ###################################################
index aad96911987c809835759022849d3087f7456493..ddaf00a9464b80a68d17385bd4561c09d42d9c0c 100644 (file)
@@ -1,8 +1,9 @@
-from alembic.script import ScriptDirectory
-from alembic.environment import EnvironmentContext
-from alembic import util, autogenerate as autogen
 import os
 
+from .script import ScriptDirectory
+from .environment import EnvironmentContext
+from . import util, autogenerate as autogen
+
 def list_templates(config):
     """List available templates"""
 
index 822df8c79bd85acfdcf9e61cc47a2cae4dea00f1..cf667b96065da57985f350d00be6f993addb184e 100644 (file)
@@ -1,10 +1,11 @@
-from alembic import command, util, package_dir
 from argparse import ArgumentParser
 import ConfigParser
 import inspect
 import os
 import sys
 
+from . import command, util, package_dir
+
 class Config(object):
     """Represent an Alembic configuration.
 
index 51b38ffa5d5a085d3df38ebd132c78bdcb4dae68..9c0f676066399481cdea7a83536913108d03251f 100644 (file)
@@ -1,5 +1,5 @@
-from alembic.environment import EnvironmentContext
-from alembic import util
+from .environment import EnvironmentContext
+from . import util
 
 # create proxy functions for
 # each method on the EnvironmentContext class.
index e252fae4ca83bb5f063aab8767ae903b2cb8c3fc..bfc8ab46b375305bc5d37d122c852c59a9894dd6 100644 (file)
@@ -1,2 +1,2 @@
-import postgresql, mysql, sqlite, mssql, oracle
-from impl import DefaultImpl
\ No newline at end of file
+from . import postgresql, mysql, sqlite, mssql, oracle
+from .impl import DefaultImpl
index 053cf4507ea5c72727b1d95c7ebf8f4193982187..5d703a518c42560834cde51ad677269ca064498e 100644 (file)
@@ -1,9 +1,10 @@
 import functools
+
 from sqlalchemy.ext.compiler import compiles
 from sqlalchemy.schema import DDLElement, Column
 from sqlalchemy import Integer
-
 from sqlalchemy import types as sqltypes
+
 class AlterTable(DDLElement):
     """Represent an ALTER TABLE statement.
 
index 60cf4d54f0dba1b95c1f88b60b66e01ffd52d582..ce248642a438a62ee66f2b34290bc17f46285917 100644 (file)
@@ -1,11 +1,11 @@
-from sqlalchemy import text
 from sqlalchemy.sql.expression import _BindParamClause
 from sqlalchemy.ext.compiler import compiles
-from sqlalchemy import schema
-from alembic.ddl import base
-from alembic import util
+from sqlalchemy import schema, text
 from sqlalchemy import types as sqltypes
 
+from .. import util
+from . import base
+
 class ImplMeta(type):
     def __init__(cls, classname, bases, dict_):
         newtype = type.__init__(cls, classname, bases, dict_)
index 0f2a7592631d8d36b6a3eac9a2ed13bf18d86c8e..4125251266caacbb4d655149d219808400f0d984 100644 (file)
@@ -1,9 +1,10 @@
-from alembic.ddl.impl import DefaultImpl
-from alembic.ddl.base import alter_table, AddColumn, ColumnName, \
+from sqlalchemy.ext.compiler import compiles
+
+from .. import util
+from .impl import DefaultImpl
+from .base import alter_table, AddColumn, ColumnName, \
     format_table_name, format_column_name, ColumnNullable, alter_column,\
     format_server_default,ColumnDefault, format_type, ColumnType
-from alembic import util
-from sqlalchemy.ext.compiler import compiles
 
 class MSSQLImpl(DefaultImpl):
     __dialect__ = 'mssql'
index 04d8473dd4a24b66376d2b1548fa2b02434b60f4..d04727ea7be55e79538863ecb73ae84fa03f3d35 100644 (file)
@@ -1,12 +1,13 @@
-from alembic.ddl.impl import DefaultImpl
-from alembic.ddl.base import ColumnNullable, ColumnName, ColumnDefault, \
-            ColumnType, AlterColumn
 from sqlalchemy.ext.compiler import compiles
-from alembic.ddl.base import alter_table
-from alembic import util
 from sqlalchemy import types as sqltypes
 from sqlalchemy import schema
 
+from .impl import DefaultImpl
+from .base import ColumnNullable, ColumnName, ColumnDefault, \
+            ColumnType, AlterColumn
+from .base import alter_table
+from .. import util
+
 class MySQLImpl(DefaultImpl):
     __dialect__ = 'mysql'
 
index c87e1302dfe8ee6009831bb5f3c2f4577ed679af..28eb24660d3fee179d94a23d49d9764506385205 100644 (file)
@@ -1,8 +1,9 @@
-from alembic.ddl.impl import DefaultImpl
-from alembic.ddl.base import alter_table, AddColumn, ColumnName, \
+from sqlalchemy.ext.compiler import compiles
+
+from .impl import DefaultImpl
+from .base import alter_table, AddColumn, ColumnName, \
     format_column_name, ColumnNullable, \
     format_server_default,ColumnDefault, format_type, ColumnType
-from sqlalchemy.ext.compiler import compiles
 
 class OracleImpl(DefaultImpl):
     __dialect__ = 'oracle'
index fce467b295660889d89a63d8bba7a864112a4418..d63958ba4c7ec2ceaf3f41e631e629c63982b45f 100644 (file)
@@ -1,7 +1,9 @@
-from alembic.ddl.impl import DefaultImpl
+import re
+
 from sqlalchemy import types as sqltypes
+
 from .base import compiles, alter_table, format_table_name, RenameTable
-import re
+from .impl import DefaultImpl
 
 class PostgresqlImpl(DefaultImpl):
     __dialect__ = 'postgresql'
index b08e60f14bf9182c4e04d56b51313acd6d808fc7..8afc9930b3f167c3c7643ed669fbc20a47024561 100644 (file)
@@ -1,8 +1,8 @@
-from alembic.ddl.impl import DefaultImpl
-from alembic import util
+from .. import util
+from .impl import DefaultImpl
 
 #from sqlalchemy.ext.compiler import compiles
-#from alembic.ddl.base import AddColumn, alter_table
+#from .base import AddColumn, alter_table
 #from sqlalchemy.schema import AddConstraint
 
 class SQLiteImpl(DefaultImpl):
index 584b6f0ac3818fddf585a9a4e899129529d195c9..1808145e641bc47fd7441132502fb5da7e1aab18 100644 (file)
@@ -1,9 +1,9 @@
-import alembic
-from alembic.operations import Operations
-from alembic.migration import MigrationContext
-from alembic import util
 from contextlib import contextmanager
 
+from .operations import Operations
+from .migration import MigrationContext
+from . import util
+
 class EnvironmentContext(object):
     """Represent the state made available to an ``env.py`` script.
 
@@ -99,12 +99,14 @@ class EnvironmentContext(object):
         be made available as ``from alembic import context``.
 
         """
-        alembic.context._install_proxy(self)
+        from .context import _install_proxy
+        _install_proxy(self)
         return self
 
     def __exit__(self, *arg, **kw):
-        alembic.context._remove_proxy()
-        alembic.op._remove_proxy()
+        from . import context, op
+        context._remove_proxy()
+        op._remove_proxy()
 
     def is_offline_mode(self):
         """Return True if the current migrations environment
index b336ec9af464d8eeca94675cd80fc1b8a91a8caf..82fee9cad4b2d2d940d6c864f22d115f330c15a3 100644 (file)
@@ -1,12 +1,13 @@
-from alembic import util
+import codecs
+import logging
+import sys
+
 from sqlalchemy import MetaData, Table, Column, String, literal_column
 from sqlalchemy import create_engine
-from alembic import ddl
-import sys
 from sqlalchemy.engine import url as sqla_url
-import codecs
 
-import logging
+from . import ddl, util
+
 log = logging.getLogger(__name__)
 
 class MigrationContext(object):
index 6934ccc8aa2050213169d69676830ab4f2d5cb51..8e5f77713a49df700e3e097a9210149cee06b869 100644 (file)
@@ -1,5 +1,5 @@
-from alembic.operations import Operations
-from alembic import util
+from .operations import Operations
+from . import util
 
 # create proxy functions for
 # each method on the Operations class.
index 1e21bc777266d449097a85db34cd8546bdcd775e..1b29a7591ce47ac7cced875b0c4689b889f5747d 100644 (file)
@@ -1,9 +1,10 @@
-from alembic import util
-from alembic.ddl import impl
+from contextlib import contextmanager
+
 from sqlalchemy.types import NULLTYPE, Integer
 from sqlalchemy import schema as sa_schema
-from contextlib import contextmanager
-import alembic
+
+from . import util
+from .ddl import impl
 
 __all__ = ('Operations',)
 
@@ -45,10 +46,11 @@ class Operations(object):
     @classmethod
     @contextmanager
     def context(cls, migration_context):
+        from .op import _install_proxy, _remove_proxy
         op = Operations(migration_context)
-        alembic.op._install_proxy(op)
+        _install_proxy(op)
         yield op
-        alembic.op._remove_proxy()
+        _remove_proxy()
 
 
     def _primary_key_constraint(self, name, table_name, cols, schema=None):
index 2fbccae5457ab8dff4ed835b9121d44ece75feca..53dbb2e5b889e334e1794cc0846af61aa741ea25 100644 (file)
@@ -1,10 +1,11 @@
 from __future__ import with_statement
 
+import datetime
 import os
-from alembic import util
-import shutil
 import re
-import datetime
+import shutil
+
+from . import util
 
 _rev_file = re.compile(r'.*\.py$')
 _legacy_rev = re.compile(r'([a-f0-9]+)\.py$')
index 7f06f4aff4cf7453ce2d3e242df999222535fa7b..826247f65e2a4f3be6ed46381a525974f5be9387 100644 (file)
@@ -1,16 +1,17 @@
 from __future__ import with_statement
 
-from mako.template import Template
 import sys
 import os
 import textwrap
-from sqlalchemy.engine import url
 import imp
 import warnings
 import re
 import inspect
 import uuid
 
+from mako.template import Template
+from sqlalchemy.engine import url
+
 class CommandError(Exception):
     pass
 
index 4d9a5b94cd18bffa414ad11e30e358661f237069..83d5825a0b0f65313302636c5952e50176df968f 100644 (file)
@@ -1,23 +1,33 @@
 from __future__ import with_statement
 
-from sqlalchemy.engine import default
-import shutil
+try:
+    import builtins
+except ImportError:
+    import __builtin__ as builtins
+try:
+    import configparser
+except ImportError:
+    import ConfigParser as configparser
+import io
 import os
+import re
+import shutil
+import StringIO
+import textwrap
+
+from nose import SkipTest
+from sqlalchemy.engine import default
 from sqlalchemy import create_engine, text
+from sqlalchemy.exc import SQLAlchemyError
+from sqlalchemy.util import decorator
+
+import alembic
 from alembic import util
 from alembic.migration import MigrationContext
 from alembic.environment import EnvironmentContext
-import re
-import alembic
 from alembic.operations import Operations
 from alembic.script import ScriptDirectory, Script
-import StringIO
 from alembic.ddl.impl import _impls
-import ConfigParser
-from nose import SkipTest
-from sqlalchemy.exc import SQLAlchemyError
-from sqlalchemy.util import decorator
-import textwrap
 
 staging_directory = os.path.join(os.path.dirname(__file__), 'scratch')
 files_directory = os.path.join(os.path.dirname(__file__), 'files')
index 8f2d116eeea3016bb1c9f3f452588fb90eab267b..1519d82a3d083a3ca243f90c08e526bd8915b3c6 100644 (file)
@@ -1,3 +1,8 @@
+
+import re
+import sys
+from unittest import TestCase
+
 from sqlalchemy import MetaData, Column, Table, Integer, String, Text, \
     Numeric, CHAR, ForeignKey, DATETIME, \
     TypeDecorator, CheckConstraint, Unicode, Enum,\
@@ -7,14 +12,12 @@ from sqlalchemy.types import NULLTYPE, TIMESTAMP
 from sqlalchemy.dialects import mysql
 from sqlalchemy.engine.reflection import Inspector
 from sqlalchemy.sql import and_, column, literal_column
-from alembic import autogenerate
+
+from alembic import autogenerate, util
 from alembic.migration import MigrationContext
-from unittest import TestCase
-from tests import staging_env, sqlite_db, clear_staging_env, eq_, \
+from . import staging_env, sqlite_db, clear_staging_env, eq_, \
         eq_ignore_whitespace, requires_07, db_for_dialect
-from alembic import util
-import re
-import sys
+
 py3k = sys.version_info >= (3, )
 
 def _model_one(schema=None):
index d6c37a32890dbe99adf709b73647aeeee799808b..a3fe28c2fa1de19c5571e77ad1bfcc40b921173e 100644 (file)
@@ -1,10 +1,12 @@
-from tests import op_fixture, eq_, assert_raises_message
+from unittest import TestCase
+
 from alembic import op
 from sqlalchemy import Integer, String
 from sqlalchemy.sql import table, column
-from unittest import TestCase
 from sqlalchemy import Table, Column, MetaData
 
+from . import op_fixture, eq_, assert_raises_message
+
 def _table_fixture(dialect, as_sql):
     context = op_fixture(dialect, as_sql)
     t1 = table("ins_table",
index 0b6df76af4b94d8bec0511b4de1a04a37b2d67f5..96106000b6b67ea90b01d590f3f098886007a8a1 100644 (file)
@@ -1,9 +1,9 @@
-from alembic import config
+from alembic import config, util
 from alembic.migration import MigrationContext
 from alembic.operations import Operations
-from alembic import util
 from alembic.script import ScriptDirectory
-from tests import eq_, capture_db, assert_raises_message
+
+from . import eq_, capture_db, assert_raises_message
 
 def test_config_no_file_main_option():
     cfg = config.Config()
index 66cdb9a505af47de340f4ad33075a771c0aa2a40..398d22884b0d0606a58919c7fdf935994ecd969d 100644 (file)
@@ -1,11 +1,14 @@
 """Test op functions against MSSQL."""
 from __future__ import with_statement
-from tests import op_fixture, capture_context_buffer, \
+
+from unittest import TestCase
+
+from sqlalchemy import Integer, Column
+
+from alembic import op, command, util
+from . import op_fixture, capture_context_buffer, \
     _no_sql_testing_config, assert_raises_message, staging_env, \
     three_rev_fixture, clear_staging_env
-from alembic import op, command, util
-from sqlalchemy import Integer, Column
-from unittest import TestCase
 
 
 class FullEnvironmentTests(TestCase):
index 246181a842bcbcab952e7482d2888ac5d6848b90..8ffa2a5b002d37f825be8e56d9848616298e321b 100644 (file)
@@ -1,7 +1,8 @@
-from tests import op_fixture, assert_raises_message
-from alembic import op, util
 from sqlalchemy import Integer, func
 
+from alembic import op, util
+from . import op_fixture, assert_raises_message
+
 def test_rename_column():
     context = op_fixture('mysql')
     op.alter_column('t1', 'c1', new_column_name="c2", existing_type=Integer)
index c5e5c5904e6749692ca87dd8f5a8260015cceff4..4a727d369397bdb97f10a41c11a4991d65b7072f 100644 (file)
@@ -1,9 +1,10 @@
-from tests import clear_staging_env, staging_env, \
+from unittest import TestCase
+
+from alembic import command, util
+from . import clear_staging_env, staging_env, \
     _no_sql_testing_config, \
     three_rev_fixture, env_file_fixture,\
     assert_raises_message
-from alembic import command, util
-from unittest import TestCase
 
 
 class OfflineEnvironmentTest(TestCase):
index 3e914728f987092e8a6a2c08977d4abc77ec677c..9d6a2d211d7c01e612de4ff42b7a093210484840 100644 (file)
@@ -1,12 +1,13 @@
 """Test against the builders in the op.* module."""
 
-from tests import op_fixture, assert_raises_message
-from alembic import op
 from sqlalchemy import Integer, Column, ForeignKey, \
             Table, String, Boolean
 from sqlalchemy.sql import column, func
-
 from sqlalchemy import event
+
+from alembic import op
+from . import op_fixture, assert_raises_message
+
 @event.listens_for(Table, "after_parent_attach")
 def _add_cols(table, metadata):
     if table.name == "tbl_with_auto_appended_column":
index 87a3e4fd0a8717cd14d9542cdfa0cc5f06365933..ae9677d20b5a5928cb010d5ada135ae5bae1ecee 100644 (file)
@@ -1,11 +1,14 @@
 """Test op functions against ORACLE."""
 from __future__ import with_statement
-from tests import op_fixture, capture_context_buffer, \
+
+from unittest import TestCase
+
+from sqlalchemy import Integer, Column
+
+from alembic import op, command
+from . import op_fixture, capture_context_buffer, \
     _no_sql_testing_config, staging_env, \
     three_rev_fixture, clear_staging_env
-from alembic import op, command
-from sqlalchemy import Integer, Column
-from unittest import TestCase
 
 
 class FullEnvironmentTests(TestCase):
index 3adaa2b7b26def8fb2627ddbec823ed1072852f1..3c0bb3985c85ba37588d47a3a73d08575cdff76a 100644 (file)
@@ -1,13 +1,16 @@
 from __future__ import with_statement
-from tests import db_for_dialect, eq_, staging_env, \
-            clear_staging_env, _no_sql_testing_config,\
-            capture_context_buffer, requires_07, write_script
+
 from unittest import TestCase
+
 from sqlalchemy import DateTime, MetaData, Table, Column, text, Integer, String
 from sqlalchemy.engine.reflection import Inspector
+
 from alembic import command, util
 from alembic.migration import MigrationContext
 from alembic.script import ScriptDirectory
+from . import db_for_dialect, eq_, staging_env, \
+            clear_staging_env, _no_sql_testing_config,\
+            capture_context_buffer, requires_07, write_script
 
 class PGOfflineEnumTest(TestCase):
     @requires_07
index e5a41e08957bea964f9c6ee4cce1ef339adab5a4..6cea44ce682c5d7c0b716305c4c3e0cc4aaf4c5d 100644 (file)
@@ -2,12 +2,13 @@
 
 from __future__ import with_statement, unicode_literals
 
-from tests import clear_staging_env, staging_env, \
+import unittest
+
+from . import clear_staging_env, staging_env, \
     _no_sql_testing_config, capture_context_buffer, \
     three_rev_fixture, write_script
 from alembic import command, util
 from alembic.script import ScriptDirectory
-import unittest
 
 cfg = None
 a, b, c = None, None, None
index fdf400f3872948e0c3695e00066ffe85f7e4e394..84dd777bdfe454c24e2003d2c9c18ad72693002e 100644 (file)
@@ -1,11 +1,13 @@
 from __future__ import with_statement
-from tests import clear_staging_env, staging_env, \
-    _sqlite_testing_config, sqlite_db, eq_, write_script, \
-    assert_raises_message
+
+import os
+import unittest
+
 from alembic import command, util
 from alembic.script import ScriptDirectory
-import unittest
-import os
+from . import clear_staging_env, staging_env, \
+    _sqlite_testing_config, sqlite_db, eq_, write_script, \
+    assert_raises_message
 
 class VersioningTest(unittest.TestCase):
     def test_001_revisions(self):