diff --git a/cms/conftest.py b/cms/conftest.py index dc360e3df14b..80d971070a83 100644 --- a/cms/conftest.py +++ b/cms/conftest.py @@ -6,10 +6,7 @@ only running cms tests. """ - -import importlib import logging -import os import pytest @@ -29,13 +26,6 @@ def pytest_configure(config): else: logging.info("pytest did not register json_report correctly") - if config.getoption('help'): - return - settings_module = os.environ.get('DJANGO_SETTINGS_MODULE') - startup_module = 'cms.startup' if settings_module.startswith('cms') else 'lms.startup' - startup = importlib.import_module(startup_module) - startup.run() - @pytest.fixture(autouse=True, scope='function') def _django_clear_site_cache(): diff --git a/cms/startup.py b/cms/startup.py deleted file mode 100644 index 5500dc6424e5..000000000000 --- a/cms/startup.py +++ /dev/null @@ -1,20 +0,0 @@ -""" -Module for code that should run during Studio startup (deprecated) -""" - - -import django -from django.conf import settings - -# Force settings to run so that the python path is modified -settings.INSTALLED_APPS # pylint: disable=pointless-statement - - -def run(): - """ - Executed during django startup - - NOTE: DO **NOT** add additional code to this method or this file! The Platform Team - is moving all startup code to more standard locations using Django best practices. - """ - django.setup() diff --git a/cms/wsgi.py b/cms/wsgi.py index 0ccd953d98dd..9c9af4299844 100644 --- a/cms/wsgi.py +++ b/cms/wsgi.py @@ -18,9 +18,6 @@ import os # lint-amnesty, pylint: disable=wrong-import-order, wrong-import-position os.environ.setdefault("DJANGO_SETTINGS_MODULE", "cms.envs.aws") -import cms.startup as startup # lint-amnesty, pylint: disable=wrong-import-position -startup.run() - # This application object is used by the development server # as well as any WSGI server configured to use this file. from django.core.wsgi import get_wsgi_application # lint-amnesty, pylint: disable=wrong-import-order, wrong-import-position diff --git a/lms/startup.py b/lms/startup.py deleted file mode 100644 index ed1ad1caba29..000000000000 --- a/lms/startup.py +++ /dev/null @@ -1,20 +0,0 @@ -""" -Module for code that should run during LMS startup (deprecated) -""" - - -import django -from django.conf import settings - -# Force settings to run so that the python path is modified -settings.INSTALLED_APPS # pylint: disable=pointless-statement - - -def run(): - """ - Executed during django startup - - NOTE: DO **NOT** add additional code to this method or this file! The Platform Team - is moving all startup code to more standard locations using Django best practices. - """ - django.setup() diff --git a/lms/wsgi.py b/lms/wsgi.py index 169b6929fbfa..0321c827ccf5 100644 --- a/lms/wsgi.py +++ b/lms/wsgi.py @@ -15,9 +15,6 @@ import os # lint-amnesty, pylint: disable=wrong-import-order, wrong-import-position os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.envs.aws") -import lms.startup as startup # lint-amnesty, pylint: disable=wrong-import-position -startup.run() - # This application object is used by the development server # as well as any WSGI server configured to use this file. from django.core.wsgi import get_wsgi_application # lint-amnesty, pylint: disable=wrong-import-order, wrong-import-position diff --git a/lms/wsgi_apache_lms.py b/lms/wsgi_apache_lms.py index e40be055d493..d1c6013e2bfc 100644 --- a/lms/wsgi_apache_lms.py +++ b/lms/wsgi_apache_lms.py @@ -14,9 +14,6 @@ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.envs.aws") os.environ.setdefault("SERVICE_VARIANT", "lms") -import lms.startup as startup # lint-amnesty, pylint: disable=wrong-import-position -startup.run() - # This application object is used by the development server # as well as any WSGI server configured to use this file. from django.core.wsgi import get_wsgi_application # lint-amnesty, pylint: disable=wrong-import-order, wrong-import-position diff --git a/manage.py b/manage.py index 98bcc4071799..07fa6de2f6e1 100755 --- a/manage.py +++ b/manage.py @@ -12,7 +12,6 @@ """ # pylint: disable=wrong-import-order, wrong-import-position - from openedx.core.lib.logsettings import log_python_warnings log_python_warnings() @@ -20,7 +19,6 @@ from openedx.core.lib.safe_lxml import defuse_xml_libs # isort:skip defuse_xml_libs() -import importlib import os import sys from argparse import ArgumentParser @@ -51,7 +49,6 @@ def parse_args(): help_string=lms.format_help(), settings_base='lms/envs', default_settings='lms.envs.devstack_docker', - startup='lms.startup', ) cms = subparsers.add_parser( @@ -70,7 +67,6 @@ def parse_args(): settings_base='cms/envs', default_settings='cms.envs.devstack_docker', service_variant='cms', - startup='cms.startup', ) edx_args, django_args = parser.parse_known_args() @@ -99,8 +95,5 @@ def parse_args(): # This will trigger django-admin.py to print out its help django_args.append('--help') - startup = importlib.import_module(edx_args.startup) - startup.run() - from django.core.management import execute_from_command_line execute_from_command_line([sys.argv[0]] + django_args) diff --git a/openedx/core/djangoapps/catalog/models.py b/openedx/core/djangoapps/catalog/models.py index e44a7839b38a..98a012e3c365 100644 --- a/openedx/core/djangoapps/catalog/models.py +++ b/openedx/core/djangoapps/catalog/models.py @@ -1,6 +1,4 @@ """Models governing integration with the catalog service.""" - - from config_models.models import ConfigurationModel from django.conf import settings from django.contrib.auth import get_user_model @@ -9,6 +7,8 @@ from openedx.core.djangoapps.site_configuration import helpers +User = get_user_model() + class CatalogIntegration(ConfigurationModel): """ @@ -72,7 +72,4 @@ def get_internal_api_url(self): return helpers.get_value('COURSE_CATALOG_API_URL', settings.COURSE_CATALOG_API_URL) def get_service_user(self): - # NOTE: We load the user model here to avoid issues at startup time that result from the hacks - # in lms/startup.py. - User = get_user_model() # pylint: disable=invalid-name return User.objects.get(username=self.service_username) diff --git a/openedx/core/djangoapps/monkey_patch/__init__.py b/openedx/core/djangoapps/monkey_patch/__init__.py index ed4b9fc26198..1a28af925797 100644 --- a/openedx/core/djangoapps/monkey_patch/__init__.py +++ b/openedx/core/djangoapps/monkey_patch/__init__.py @@ -6,9 +6,8 @@ * USE WITH CAUTION * No, but seriously, you probably never really want to make changes here. This module contains methods to monkey-patch [0] the edx-platform. -Patches are to be applied as early as possible in the callstack -(currently lms/startup.py and cms/startup.py). Consequently, changes -made here will affect the entire platform. +Patches are to be applied as early as possible in the callstack). Consequently, +changes made here will affect the entire platform. That said, if you've decided you really need to monkey-patch the platform (and you've convinced enough people that this is best @@ -25,8 +24,7 @@ - is_patched - patch - unpatch - - Add the following code where needed (typically cms/startup.py and - lms/startup.py): + - Add the following code where needed: ``` from openedx.core.djangoapps.monkey_patch import your_module your_module.patch()