Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Migrated built-in AppCommands to use handle_app_config.

  • Loading branch information...
commit a7add2f2965dac3c2f63b1459c8bde725250c977 1 parent bb8ec71
@aaugustin aaugustin authored
View
8 django/core/management/commands/sql.py
@@ -18,5 +18,9 @@ class Command(AppCommand):
output_transaction = True
- def handle_app(self, app, **options):
- return '\n'.join(sql_create(app, self.style, connections[options.get('database')]))
+ def handle_app_config(self, app_config, **options):
+ if app_config.models_module is None:
+ return
+ connection = connections[options.get('database')]
+ statements = sql_create(app_config.models_module, self.style, connection)
+ return '\n'.join(statements)
View
8 django/core/management/commands/sqlall.py
@@ -18,5 +18,9 @@ class Command(AppCommand):
output_transaction = True
- def handle_app(self, app, **options):
- return '\n'.join(sql_all(app, self.style, connections[options.get('database')]))
+ def handle_app_config(self, app_config, **options):
+ if app_config.models_module is None:
+ return
+ connection = connections[options.get('database')]
+ statements = sql_all(app_config.models_module, self.style, connection)
+ return '\n'.join(statements)
View
8 django/core/management/commands/sqlclear.py
@@ -18,5 +18,9 @@ class Command(AppCommand):
output_transaction = True
- def handle_app(self, app, **options):
- return '\n'.join(sql_delete(app, self.style, connections[options.get('database')]))
+ def handle_app_config(self, app_config, **options):
+ if app_config.models_module is None:
+ return
+ connection = connections[options.get('database')]
+ statements = sql_delete(app_config.models_module, self.style, connection)
+ return '\n'.join(statements)
View
8 django/core/management/commands/sqlcustom.py
@@ -18,5 +18,9 @@ class Command(AppCommand):
output_transaction = True
- def handle_app(self, app, **options):
- return '\n'.join(sql_custom(app, self.style, connections[options.get('database')]))
+ def handle_app_config(self, app_config, **options):
+ if app_config.models_module is None:
+ return
+ connection = connections[options.get('database')]
+ statements = sql_custom(app_config.models_module, self.style, connection)
+ return '\n'.join(statements)
View
8 django/core/management/commands/sqldropindexes.py
@@ -19,5 +19,9 @@ class Command(AppCommand):
output_transaction = True
- def handle_app(self, app, **options):
- return '\n'.join(sql_destroy_indexes(app, self.style, connections[options.get('database')]))
+ def handle_app_config(self, app_config, **options):
+ if app_config.models_module is None:
+ return
+ connection = connections[options.get('database')]
+ statements = sql_destroy_indexes(app_config.models_module, self.style, connection)
+ return '\n'.join(statements)
View
8 django/core/management/commands/sqlindexes.py
@@ -19,5 +19,9 @@ class Command(AppCommand):
output_transaction = True
- def handle_app(self, app, **options):
- return '\n'.join(sql_indexes(app, self.style, connections[options.get('database')]))
+ def handle_app_config(self, app_config, **options):
+ if app_config.models_module is None:
+ return
+ connection = connections[options.get('database')]
+ statements = sql_indexes(app_config.models_module, self.style, connection)
+ return '\n'.join(statements)
View
8 django/core/management/commands/sqlsequencereset.py
@@ -19,6 +19,10 @@ class Command(AppCommand):
output_transaction = True
- def handle_app(self, app, **options):
+ def handle_app_config(self, app_config, **options):
+ if app_config.models_module is None:
+ return
connection = connections[options.get('database')]
- return '\n'.join(connection.ops.sequence_reset_sql(self.style, apps.get_models(app, include_auto_created=True)))
+ models = apps.get_models(app_config.models_module, include_auto_created=True)
+ statements = connection.ops.sequence_reset_sql(self.style, models)
+ return '\n'.join(statements)
View
4 tests/admin_scripts/management/commands/app_command.py
@@ -6,5 +6,5 @@ class Command(AppCommand):
requires_model_validation = False
args = '[appname ...]'
- def handle_app(self, app, **options):
- print('EXECUTE:AppCommand app=%s, options=%s' % (app, sorted(options.items())))
+ def handle_app_config(self, app_config, **options):
+ print('EXECUTE:AppCommand name=%s, options=%s' % (app_config.name, sorted(options.items())))
View
17 tests/admin_scripts/tests.py
@@ -1416,27 +1416,24 @@ def test_app_command(self):
args = ['app_command', 'auth']
out, err = self.run_manage(args)
self.assertNoOutput(err)
- self.assertOutput(out, "EXECUTE:AppCommand app=<module 'django.contrib.auth.models'")
- self.assertOutput(out, "module 'django.contrib.auth.models' from")
- self.assertOutput(out, str_prefix("'>, options=[('no_color', False), ('pythonpath', None), ('settings', None), ('traceback', None), ('verbosity', %(_)s'1')]"))
+ self.assertOutput(out, "EXECUTE:AppCommand name=django.contrib.auth, options=")
+ self.assertOutput(out, str_prefix(", options=[('no_color', False), ('pythonpath', None), ('settings', None), ('traceback', None), ('verbosity', %(_)s'1')]"))
def test_app_command_no_apps(self):
"User AppCommands raise an error when no app name is provided"
args = ['app_command']
out, err = self.run_manage(args)
- self.assertOutput(err, 'Error: Enter at least one appname.')
+ self.assertOutput(err, 'Error: Enter at least one application label.')
def test_app_command_multiple_apps(self):
"User AppCommands raise an error when multiple app names are provided"
args = ['app_command', 'auth', 'contenttypes']
out, err = self.run_manage(args)
self.assertNoOutput(err)
- self.assertOutput(out, "EXECUTE:AppCommand app=<module 'django.contrib.auth.models'")
- self.assertOutput(out, "module 'django.contrib.auth.models' from")
- self.assertOutput(out, str_prefix("'>, options=[('no_color', False), ('pythonpath', None), ('settings', None), ('traceback', None), ('verbosity', %(_)s'1')]"))
- self.assertOutput(out, "EXECUTE:AppCommand app=<module 'django.contrib.contenttypes.models'")
- self.assertOutput(out, "module 'django.contrib.contenttypes.models' from")
- self.assertOutput(out, str_prefix("'>, options=[('no_color', False), ('pythonpath', None), ('settings', None), ('traceback', None), ('verbosity', %(_)s'1')]"))
+ self.assertOutput(out, "EXECUTE:AppCommand name=django.contrib.auth, options=")
+ self.assertOutput(out, str_prefix(", options=[('no_color', False), ('pythonpath', None), ('settings', None), ('traceback', None), ('verbosity', %(_)s'1')]"))
+ self.assertOutput(out, "EXECUTE:AppCommand name=django.contrib.contenttypes, options=")
+ self.assertOutput(out, str_prefix(", options=[('no_color', False), ('pythonpath', None), ('settings', None), ('traceback', None), ('verbosity', %(_)s'1')]"))
def test_app_command_invalid_appname(self):
"User AppCommands can execute when a single app name is provided"
Please sign in to comment.
Something went wrong with that request. Please try again.