Skip to content

Commit

Permalink
Merge pull request #36302 from ormsbee/remove-custom-startup
Browse files Browse the repository at this point in the history
fix: remove custom startup to fix dev reloading
  • Loading branch information
robrap authored Mar 4, 2025
2 parents 988801f + d5aa834 commit 468e1e3
Show file tree
Hide file tree
Showing 9 changed files with 5 additions and 76 deletions.
10 changes: 0 additions & 10 deletions cms/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,7 @@
only running cms tests.
"""


import importlib
import logging
import os

import pytest

Expand All @@ -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():
Expand Down
20 changes: 0 additions & 20 deletions cms/startup.py

This file was deleted.

3 changes: 0 additions & 3 deletions cms/wsgi.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
20 changes: 0 additions & 20 deletions lms/startup.py

This file was deleted.

3 changes: 0 additions & 3 deletions lms/wsgi.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 0 additions & 3 deletions lms/wsgi_apache_lms.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
7 changes: 0 additions & 7 deletions manage.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,13 @@
"""
# pylint: disable=wrong-import-order, wrong-import-position


from openedx.core.lib.logsettings import log_python_warnings
log_python_warnings()

# Patch the xml libs before anything else.
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
Expand Down Expand Up @@ -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(
Expand All @@ -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()
Expand Down Expand Up @@ -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)
7 changes: 2 additions & 5 deletions openedx/core/djangoapps/catalog/models.py
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -9,6 +7,8 @@

from openedx.core.djangoapps.site_configuration import helpers

User = get_user_model()


class CatalogIntegration(ConfigurationModel):
"""
Expand Down Expand Up @@ -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)
8 changes: 3 additions & 5 deletions openedx/core/djangoapps/monkey_patch/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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()
Expand Down

0 comments on commit 468e1e3

Please sign in to comment.