diff options
Diffstat (limited to 'manage.py')
| -rwxr-xr-x | manage.py | 16 | 
1 files changed, 16 insertions, 0 deletions
@@ -3,10 +3,26 @@  import os  import sys +# List of settings files that should guard against running certain commands +GUARDED_ENVIRONMENTS = [ +    "production", +] + +GUARDED_COMMANDS =[ +    "test", +] +  def main():      """Run administrative tasks."""      os.environ.setdefault("DJANGO_SETTINGS_MODULE", "takahe.settings.production") + +    # Guard against running tests in arbitrary environments +    env_name = os.environ["DJANGO_SETTINGS_MODULE"].rsplit(".", 1)[-1] +    if env_name in GUARDED_ENVIRONMENTS: +        for cmd in sys.argv: +            if cmd in GUARDED_COMMANDS: +                raise Exception(f"Cannot run {cmd} in {env_name}")      try:          from django.core.management import execute_from_command_line      except ImportError as exc:  | 
