Generate a new secret key and save it to local.py settings after installation, use this local.py file by default

This commit is contained in:
Roberto Rosario
2014-07-11 03:34:28 -04:00
parent 0d55f2e0e2
commit 2c845ca72e
3 changed files with 26 additions and 1 deletions

View File

@@ -3,7 +3,7 @@ import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mayan.settings")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mayan.settings.local")
from django.core.management import execute_from_command_line

3
mayan/settings/local.py Normal file
View File

@@ -0,0 +1,3 @@
from __future__ import absolute_import
from .base import *

View File

@@ -1,12 +1,17 @@
#!/usr/bin/env python
import os
import random;
import string;
import sys
try:
from setuptools import setup
except ImportError:
from distutils.core import setup
from distutils.command.install import install as _install
else:
from setuptools.command.install import install as _install
import mayan
@@ -18,6 +23,22 @@ if sys.argv[-1] == 'publish':
sys.exit()
def post_install(dir):
secret = ''.join([random.SystemRandom().choice(string.digits + string.letters + string.punctuation) for i in range(100)])
with open(os.path.join(dir, 'mayan', 'settings', 'local.py'), 'w+') as file_object:
file_object.write('\n'.join([
'from __future__ import absolute_import',
'from .base import *',
"SECRET_KEY = '{}'".format(secret),
]))
class install(_install):
def run(self):
_install.run(self)
self.execute(post_install, (self.install_lib,), msg="Running post install task")
def fullsplit(path, result=None):
"""
Split a pathname into components (the opposite of os.path.join) in a
@@ -108,6 +129,7 @@ setup(
'Topic :: Internet :: WWW/HTTP :: WSGI :: Application',
'Topic :: Communications :: File Sharing',
],
cmdclass={'install': install},
description='A Django based Document Management System.',
include_package_data=True,
install_requires=install_requires,