-
Notifications
You must be signed in to change notification settings - Fork 0
/
manage.py
executable file
·46 lines (38 loc) · 1.44 KB
/
manage.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import json
import os
import sys
from django.core.exceptions import ImproperlyConfigured
with open("secrets.json") as f:
secrets = json.loads(f.read())
def get_secret(setting, secrets=secrets):
"""Get the secret variable or return explicit exception."""
try:
return secrets[setting]
except KeyError:
error_msg = "Set the {0} environment variable".format(setting)
raise ImproperlyConfigured(error_msg)
def main():
"""Run administrative tasks."""
env = get_secret("ENVIRONMENT").capitalize()
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "calendar_events.config")
os.environ.setdefault("DJANGO_CONFIGURATION", env)
try:
from configurations.management import execute_from_command_line
except ImportError:
# The above import may fail for some other reason. Ensure that the
# issue is really that Django is missing to avoid masking other
# exceptions on Python 2.
try:
import django # noqa
except ImportError:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
)
raise
execute_from_command_line(sys.argv)
if __name__ == "__main__":
main()