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