jdunck committed e488160

stderr, verbosity.

Comments (0)

Files changed (1)


-from import call_command
+from import call_command, CommandError
 from import BaseCommand
 from django.conf import settings
 from django.db.models import loading
     def handle(self, **options):
         runner = simple.DjangoTestSuiteRunner(verbosity=0)
-        err_msg = "Failed to migrate %s; see output for hints at missing dependencies:"
+        err_msg = "Failed to migrate %s; see output for hints at missing dependencies:\n"
+        failures = 0
         for app_name in settings.INSTALLED_APPS:
             app_label = app_name.split(".")[-1]
             if app_name == 'south':
             except NoMigrations:
             app = loading.get_app(app_label)
-            print "processing %s" % app_name
+            verbosity = int(options.get('verbosity', 1))
+            if verbosity >= 1:
+                self.stderr.write("processing %s\n" % app_name)
             old_config = runner.setup_databases()
             except (KeyboardInterrupt, SystemExit):
             except Exception, e:
-                print err_msg % app_name
-                print e
+                failures += 1
+                if verbosity >= 1:
+                    self.stderr.write(err_msg % app_name)
+                    self.stderr.write("%s\n" % e)
+        if failures > 0:
+            raise CommandError("Missing depends_on found in %s app(s)." % failures)
 #for each app:
 #    start with blank db.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.