Source code for django_sorcery.management.commands.sorcery_heads

"""Heads command."""

from ..alembic import AlembicCommand


[docs]class ShowHeads(AlembicCommand): """Display alembic revision heads.""" help = "Display revision heads"
[docs] def add_arguments(self, parser): parser.add_argument("app_label", nargs="?", help="App label of application to limit the output to.")
[docs] def handle(self, app_label=None, verbosity=0, **kwargs): verbosity = bool(verbosity - 1) appconfigs = [self.lookup_app(app_label)] if app_label is not None else self.sorcery_apps.values() for appconfig in appconfigs: self.stdout.write( self.style.SUCCESS("Heads for {} on database {}".format(appconfig.name, appconfig.db.alias)) ) for rev in appconfig.script.get_revisions("heads"): if verbosity: self.stdout.write( "".join( [ "[", appconfig.name, "]\n", rev.cmd_format(verbosity, include_branches=True, tree_indicators=False), ] ) ) else: self.stdout.write( "".join( [ rev.cmd_format(verbosity, include_branches=True, tree_indicators=False), " <", appconfig.name, "> ", ] ) )
Command = ShowHeads