summaryrefslogtreecommitdiffstats
path: root/manage.py
diff options
context:
space:
mode:
Diffstat (limited to 'manage.py')
-rwxr-xr-xmanage.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/manage.py b/manage.py
index 3985c18..9641f30 100755
--- a/manage.py
+++ b/manage.py
@@ -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: