Files
django-deploy/src/django_deploy/utils.py
Jens Kleineheismann 8e86233431
All checks were successful
buildbot/tox Build done.
it works. but coverage is too low.
2019-11-07 17:01:53 +01:00

30 lines
872 B
Python

import importlib
import os
import sys
import mock
from .config import DJANGO_SETTINGS_DIR
def get_root_urlconf(project_dir):
if 'django.contrib' in sys.modules:
original_contrib = sys.modules['django.contrib']
else:
original_contrib = None
mock_contrib = mock.Mock(name='django.contrib')
sys.modules['django.contrib'] = mock_contrib
settings_dir = os.path.join(project_dir, DJANGO_SETTINGS_DIR)
sys.path.insert(0, settings_dir)
root_urlconf = importlib.import_module('urls')
if sys.version_info.major == 2: # pragma: no cover
reload(root_urlconf) # pylint: disable=undefined-variable
else: # pragma: no cover
importlib.reload(root_urlconf) # pylint: disable=no-member
sys.path.pop(0)
if original_contrib:
sys.modules['django.contrib'] = original_contrib
return root_urlconf