diff options
Diffstat (limited to 'migrate/versioning/script/py.py')
-rw-r--r-- | migrate/versioning/script/py.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/migrate/versioning/script/py.py b/migrate/versioning/script/py.py index 3a090d4..92a8f6b 100644 --- a/migrate/versioning/script/py.py +++ b/migrate/versioning/script/py.py @@ -5,7 +5,6 @@ import shutil import warnings import logging import inspect -from StringIO import StringIO import migrate from migrate.versioning import genmodel, schemadiff @@ -14,6 +13,8 @@ from migrate.versioning.template import Template from migrate.versioning.script import base from migrate.versioning.util import import_path, load_model, with_engine from migrate.exceptions import MigrateDeprecationWarning, InvalidScriptError, ScriptError +import six +from six.moves import StringIO log = logging.getLogger(__name__) __all__ = ['PythonScript'] @@ -51,7 +52,7 @@ class PythonScript(base.BaseScript): :rtype: string """ - if isinstance(repository, basestring): + if isinstance(repository, six.string_types): # oh dear, an import cycle! from migrate.versioning.repository import Repository repository = Repository(repository) @@ -96,7 +97,7 @@ class PythonScript(base.BaseScript): module = import_path(path) try: assert callable(module.upgrade) - except Exception, e: + except Exception as e: raise InvalidScriptError(path + ': %s' % str(e)) return module @@ -127,7 +128,9 @@ class PythonScript(base.BaseScript): :type engine: string :type step: int """ - if step > 0: + if step in ('downgrade', 'upgrade'): + op = step + elif step > 0: op = 'upgrade' elif step < 0: op = 'downgrade' |