Files
django-deploy/src/django_deploy/hooks.py
Jens Kleineheismann f1f0c585b9
All checks were successful
buildbot/tox Build done.
It is nice now.
2019-11-16 18:50:53 +01:00

32 lines
1.1 KiB
Python

import os
from django.conf.urls import url, include
from .api import DjangoProjectHooksConfig
def get_installed_apps(file_path, installed_apps):
settings_dir = os.path.dirname(os.path.abspath(file_path))
config = DjangoProjectHooksConfig(settings_dir=settings_dir)
app_list = installed_apps[:]
for wanting_app in config:
wanted_apps = config[wanting_app].get('INSTALLED_APPS', [])
for wanted_app in wanted_apps:
if wanted_app not in app_list:
app_list.append(wanted_app)
return app_list
def get_urlpatterns(file_path, urlpatterns):
settings_dir = os.path.dirname(os.path.abspath(file_path))
config = DjangoProjectHooksConfig(settings_dir=settings_dir)
urls_list = urlpatterns[:]
for app in config:
if 'MOUNT' in config[app]:
route, urlconf_module = config[app]['MOUNT']
pattern = '^{}/'.format(route)
if urlconf_module.startswith('.'):
urlconf_module = '{}{}'.format(app, urlconf_module)
url_obj = url(pattern, include(urlconf_module))
urls_list.append(url_obj)
return urls_list