Coverage for jutil/management/commands/apps.py: 38%
18 statements
« prev ^ index » next coverage.py v6.5.0, created at 2022-10-07 16:40 -0500
« prev ^ index » next coverage.py v6.5.0, created at 2022-10-07 16:40 -0500
1import os
3from django.apps import apps
4from django.conf import settings
5from django.core.management.base import CommandParser
6from jutil.command import SafeCommand
9class Command(SafeCommand):
10 help = "Lists project's top-level apps directly under BASE_DIR"
12 def add_arguments(self, parser: CommandParser):
13 parser.add_argument("--nl", action="store_true", help="Use \\n as app separator")
15 def do(self, *args, **kw):
16 sep = " "
17 if kw["nl"]:
18 sep = "\n"
19 for app in apps.get_app_configs():
20 name = app.name
21 full_path = os.path.join(os.path.join(settings.BASE_DIR, name), "apps.py")
22 if os.path.isfile(full_path):
23 self.stdout.write(name, ending=sep)