Commit 6b39010d authored by Andrew Godwin's avatar Andrew Godwin
Browse files

Remove nasty error message checking hack

parent 88e1e6f9
Loading
Loading
Loading
Loading
+2 −14
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@ from django.db.migrations.executor import MigrationExecutor
from django.db.migrations.loader import AmbiguityError
from django.utils.datastructures import SortedDict
from django.utils.importlib import import_module
from django.utils.module_loading import module_has_submodule, import_by_path


class Command(BaseCommand):
@@ -40,21 +41,8 @@ class Command(BaseCommand):
        # Import the 'management' module within each installed app, to register
        # dispatcher events.
        for app_name in settings.INSTALLED_APPS:
            try:
            if module_has_submodule(import_module(app_name), "management"):
                import_module('.management', app_name)
            except ImportError as exc:
                # This is slightly hackish. We want to ignore ImportErrors
                # if the "management" module itself is missing -- but we don't
                # want to ignore the exception if the management module exists
                # but raises an ImportError for some reason. The only way we
                # can do this is to check the text of the exception. Note that
                # we're a bit broad in how we check the text, because different
                # Python implementations may not use the same text.
                # CPython uses the text "No module named management"
                # PyPy uses "No module named myproject.myapp.management"
                msg = exc.args[0]
                if not msg.startswith('No module named') or 'management' not in msg:
                    raise

        # Get the database we're operating from
        db = options.get('database')