From ce6df87b858c5642ebdf545676e198b26d8029ab Mon Sep 17 00:00:00 2001 From: ronny abraham Date: Wed, 11 Oct 2023 14:53:54 +0300 Subject: [PATCH] updated files to use 'core' as main django app --- modules/django.py | 49 ++++++++-------- modules/initialize.py | 56 ++++++++++--------- modules/supervisor.py | 2 +- .../conf/django/files/local.generated.jinja2 | 2 +- .../templates/conf/django/files/local.jinja2 | 2 +- .../conf/django/files/settings.jinja2 | 4 +- share/templates/conf/django/files/wsgi.jinja2 | 2 +- .../gunicorn/files/local.generated.jinja2 | 2 +- .../conf/gunicorn/files/local.jinja2 | 2 +- .../templates/conf/gunicorn/files/wsgi.jinja2 | 2 +- share/templates/meta/development.yml | 12 ++-- 11 files changed, 72 insertions(+), 63 deletions(-) diff --git a/modules/django.py b/modules/django.py index 334140b..cf2cae0 100644 --- a/modules/django.py +++ b/modules/django.py @@ -432,20 +432,23 @@ def create_project(): logger = loggify("django", "create_project") project_path = configuration.paths.django.root + project_base = configuration.paths.django.settings.base project_name = configuration.project.name import os - full_project_path = os.path.join(project_path, project_name) + full_project_path = os.path.join(project_path, project_base) django_cmd = \ - "django-admin startproject {project_name} {project_path}".format( - project_name=configuration.project.name, + "django-admin startproject {project_base} {project_path}".format( + project_base=project_base, project_path=project_path) manage_path = "%s/manage.py" % project_path logger.debug("django_root : %s" % configuration.paths.django.root) logger.debug("project_path : %s" % project_path) + logger.debug("project_base : %s" % project_base) + logger.debug("project_name : %s" % project_name) # I accidentally deleted the code directory, this checks to see if the # project path exists, if not, create it. @@ -467,9 +470,9 @@ def create_project(): # either overwrite the old backup (Y), or to stop the proecess and do # whatever needs to be done to clear things up - project_path_old = "{project_path}/{project_name}.old".format( + project_path_old = "{project_path}/{project_base}.old".format( project_path=project_path, - project_name=project_name) + project_base=project_base) if exists(project_path_old): prompt_continue( @@ -478,23 +481,23 @@ def create_project(): " backing up the version or exit? Y/n ( Y to " "continue without backing up. N to exit )", default="n") - fabric_ops.run("rm -Rf {project_path}/{project_name}".format( - project_name=project_name, + fabric_ops.run("rm -Rf {project_path}/{project_base}".format( + project_base=project_base, project_path=project_path)) else: # backup whatever is there - fabric_ops.run("mv {project_path}/{project_name}" - " {project_path}/{project_name}.old".format( - project_name=project_name, + fabric_ops.run("mv {project_path}/{project_base}" + " {project_path}/{project_base}.old".format( + project_base=project_base, project_path=project_path)) with virtualenv(): fabric_ops.run(django_cmd) - django_path = "{project_path}/{project_name}".format( - project_name=configuration.project.name, project_path=project_path) + django_path = "{project_path}/{project_base}".format( + project_base=project_base, project_path=project_path) fabric_ops.run("mkdir %s/_settings" % django_path) fabric_ops.run("touch %s/_settings/__init__.py" % django_path) @@ -524,9 +527,10 @@ def generate_scripts(template_name, make_copy=False): if env.debug: logger = loggify("django", "generate_scripts") - project_name = configuration.project.name + project_base = configuration.paths.django.settings.base project_branch = configuration.project.branch project_path = configuration.paths.django.root + project_name = configuration.project.name secret_key = generate_secret_key() @@ -538,19 +542,20 @@ def generate_scripts(template_name, make_copy=False): context = dict() context['project_name'] = project_name + context['project_base'] = project_base context['project_branch'] = project_branch context['secret_key'] = secret_key context['paths_tools_fabric'] = configuration.paths.tools.fabric - copy_path = "{project_path}/{project_name}".format( + copy_path = "{project_path}/{project_base}".format( project_path=project_path, - project_name=project_name) + project_base=project_base) if template_name == 'local': - copy_path = "{project_path}/{project_name}/_settings".format( + copy_path = "{project_path}/{project_base}/_settings".format( project_path=project_path, - project_name=project_name) + project_base=project_base) build_name = "%s.py" % project_branch # generate the local generate scripts @@ -558,9 +563,9 @@ def generate_scripts(template_name, make_copy=False): elif template_name == 'local.generated': - copy_path = "{project_path}/{project_name}/_settings".format( + copy_path = "{project_path}/{project_base}/_settings".format( project_path=project_path, - project_name=project_name) + project_base=project_base) build_name = "%s_generated.py" % project_branch # add extra local specfic context variables @@ -622,7 +627,7 @@ def generate_scripts(template_name, make_copy=False): if env.debug: logger.debug("template_name : %s" % template_name) logger.debug("project_branch : %s" % project_branch) - logger.debug("project_name : %s" % project_name) + logger.debug("project_base : %s" % project_base) logger.debug("build_path : %s" % build_path) logger.debug("files_path : %s" % files_path) logger.debug("files_name : %s" % files_name) @@ -655,7 +660,7 @@ def generate_scripts(template_name, make_copy=False): fabric_ops.run(copy_cmd) print("\n\n------------------------------") - print("project_name : %s" % project_name) + print("project_base : %s" % project_base) print("project_branch : %s" % project_branch) print("project_path : %s" % project_path) print("template_name : %s" % template_name) @@ -855,7 +860,7 @@ def edit(param='help'): project_branch = configuration.project.branch project_path = configuration.paths.django.root - project_settings_dir = configuration.project.django.settings_folder + project_settings_dir = configuration.paths.django.settings.base django_path = "{project_path}/{project_settings_dir}".format( project_path=project_path, diff --git a/modules/initialize.py b/modules/initialize.py index 1ebd149..5d34482 100644 --- a/modules/initialize.py +++ b/modules/initialize.py @@ -233,32 +233,8 @@ def get_config(branchname): dataobject.project.sudo = config['project']['sudo'] - # - # django settings directory - - # NOTE: - # this is a tricky problem, because sometimes the project.name will NOT - # be what I originally set the settings folder name to. For example, I - # created a project named 'raquelsanchez' but then the production url was - # set to 'raquelsanchezart', well, those two names don't match, and I don't - # feel like going through the complication of changing the wsgi files and - # folder names for the settings directory. - # - # so over here, we check to see if django.settings_folder is the same as - # project.name, if it is, great, if not we set it to whatever is in - # config.django.settings_folder - dataobject.project.addbranch('django') - # this is the default name for the django settings_dir - - dataobject.project.django.settings_folder = \ - config['project']['name'] - - if 'settings_folder' in config['django']: - dataobject.project.django.settings_folder = \ - config['django']['settings_folder'] - # # allowed_hosts are the ip addresses and hostnames # that this instance is allowed to run on @@ -400,9 +376,35 @@ def get_config(branchname): dataobject.paths.django.addbranch('settings') + # + # django settings directory + + # NOTE: + # this is a tricky problem, because sometimes the project.name will NOT + # be what I originally set the settings folder name to. For example, I + # created a project named 'raquelsanchez' but then the production url was + # set to 'raquelsanchezart', well, those two names don't match, and I don't + # feel like going through the complication of changing the wsgi files and + # folder names for the settings directory. + # + # so over here, we check to see if django.settings.base is the same as + # project.name, if it is, great, if not we set it to whatever is in + # config.django.settings.paths.base + + # this is the default name for the django settings dir + + dataobject.paths.django.settings.base = \ + config['project']['name'] + + if 'paths' in config['django']: + if 'settings' in config['django']['paths']: + if 'base' in config['django']['paths']['settings']: + dataobject.paths.django.settings.base = \ + config['django']['paths']['settings']['base'] + dataobject.paths.django.settings.root = os.path.join( dataobject.paths.django.root, - dataobject.project.django.settings_folder) + dataobject.paths.django.settings.base) dataobject.paths.django.settings.local = os.path.join( dataobject.paths.django.settings.root, @@ -421,8 +423,8 @@ def get_config(branchname): dataobject.addbranch('imports') dataobject.imports.settings = \ - "{projectname}.{settings_local}.{projectbranch}".format( - projectname=dataobject.project.django.settings_folder, + "{project_base}.{settings_local}.{projectbranch}".format( + project_base=dataobject.paths.django.settings.base, settings_local=layout['paths']['django']['settings.local'], projectbranch=dataobject.project.branch) diff --git a/modules/supervisor.py b/modules/supervisor.py index 886884b..067b401 100644 --- a/modules/supervisor.py +++ b/modules/supervisor.py @@ -206,7 +206,7 @@ def upload(): # rest of the project context['django_settings_folder'] = \ - configuration.project.django.settings_folder + configuration.paths.django.settings.base context['server_path_virtualenv_bin'] = os.path.join( configuration.paths.server.virtual, 'bin') diff --git a/share/templates/conf/django/files/local.generated.jinja2 b/share/templates/conf/django/files/local.generated.jinja2 index e23c128..36ffd4d 100644 --- a/share/templates/conf/django/files/local.generated.jinja2 +++ b/share/templates/conf/django/files/local.generated.jinja2 @@ -4,7 +4,7 @@ LOCAL_SETTINGS = True # avoid recursive imports BRANCH = '{{ project_branch }}' -from {{ project_name }}.settings import * +from {{ project_base }}.settings import * import logging diff --git a/share/templates/conf/django/files/local.jinja2 b/share/templates/conf/django/files/local.jinja2 index 95267b3..2e3baec 100644 --- a/share/templates/conf/django/files/local.jinja2 +++ b/share/templates/conf/django/files/local.jinja2 @@ -1,6 +1,6 @@ LOCAL_SETTINGS = True # avoid recursive imports -from {{ project_name }}._settings.{{ project_branch }}_generated import * +from {{ project_base }}._settings.{{ project_branch }}_generated import * import logging diff --git a/share/templates/conf/django/files/settings.jinja2 b/share/templates/conf/django/files/settings.jinja2 index 2382b6f..7170f44 100644 --- a/share/templates/conf/django/files/settings.jinja2 +++ b/share/templates/conf/django/files/settings.jinja2 @@ -64,7 +64,7 @@ MIDDLEWARE = [ 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] -ROOT_URLCONF = '{{ project_name }}.urls' +ROOT_URLCONF = '{{ project_base }}.urls' TEMPLATES = [ { @@ -82,7 +82,7 @@ TEMPLATES = [ }, ] -WSGI_APPLICATION = '{{ project_name }}.wsgi.application' +WSGI_APPLICATION = '{{ project_base }}.wsgi.application' # Database diff --git a/share/templates/conf/django/files/wsgi.jinja2 b/share/templates/conf/django/files/wsgi.jinja2 index 9ccde02..d8e4918 100644 --- a/share/templates/conf/django/files/wsgi.jinja2 +++ b/share/templates/conf/django/files/wsgi.jinja2 @@ -11,7 +11,7 @@ import os from django.core.wsgi import get_wsgi_application -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "{{ project_name }}._settings") +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "{{ project_base }}._settings") application = get_wsgi_application() diff --git a/share/templates/conf/gunicorn/files/local.generated.jinja2 b/share/templates/conf/gunicorn/files/local.generated.jinja2 index e23c128..36ffd4d 100644 --- a/share/templates/conf/gunicorn/files/local.generated.jinja2 +++ b/share/templates/conf/gunicorn/files/local.generated.jinja2 @@ -4,7 +4,7 @@ LOCAL_SETTINGS = True # avoid recursive imports BRANCH = '{{ project_branch }}' -from {{ project_name }}.settings import * +from {{ project_base }}.settings import * import logging diff --git a/share/templates/conf/gunicorn/files/local.jinja2 b/share/templates/conf/gunicorn/files/local.jinja2 index 95267b3..2e3baec 100644 --- a/share/templates/conf/gunicorn/files/local.jinja2 +++ b/share/templates/conf/gunicorn/files/local.jinja2 @@ -1,6 +1,6 @@ LOCAL_SETTINGS = True # avoid recursive imports -from {{ project_name }}._settings.{{ project_branch }}_generated import * +from {{ project_base }}._settings.{{ project_branch }}_generated import * import logging diff --git a/share/templates/conf/gunicorn/files/wsgi.jinja2 b/share/templates/conf/gunicorn/files/wsgi.jinja2 index 9ccde02..d8e4918 100644 --- a/share/templates/conf/gunicorn/files/wsgi.jinja2 +++ b/share/templates/conf/gunicorn/files/wsgi.jinja2 @@ -11,7 +11,7 @@ import os from django.core.wsgi import get_wsgi_application -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "{{ project_name }}._settings") +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "{{ project_base }}._settings") application = get_wsgi_application() diff --git a/share/templates/meta/development.yml b/share/templates/meta/development.yml index efe5726..44256b4 100644 --- a/share/templates/meta/development.yml +++ b/share/templates/meta/development.yml @@ -10,6 +10,8 @@ django: host: DJANGO_IP port: DJANGO_PORT allowed_hosts: [127.0.0.1, 'PROJECT_NAME.BRANCH_EXT',] + settings: + folder: "core" docker: database: env: {name: POSTGRES_DB, pass: POSTGRES_PASSWORD, user: POSTGRES_USER} @@ -38,11 +40,11 @@ maintenance: # # uncomment if you have and plan to use coverage python package # -# coverage: -# config: setup.cfg -# paths: -# root: share/coverage -# html: htmlcov +coverage: + config: setup.cfg + paths: + root: share/coverage + html: htmlcov media: paths: {dynamic: dynamic, root: public/media, static: static}