Removed deprecated Apps methods per deprecation timeline.
This commit is contained in:
parent
6e13c0490d
commit
cf5b67d3a0
|
@ -1,13 +1,10 @@
|
|||
from collections import Counter, defaultdict, OrderedDict
|
||||
import os
|
||||
import sys
|
||||
import threading
|
||||
import warnings
|
||||
|
||||
from django.core.exceptions import AppRegistryNotReady, ImproperlyConfigured
|
||||
from django.utils import lru_cache
|
||||
from django.utils.deprecation import RemovedInDjango19Warning
|
||||
from django.utils._os import upath
|
||||
|
||||
from .config import AppConfig
|
||||
|
||||
|
@ -151,7 +148,7 @@ class Apps(object):
|
|||
|
||||
# This method is performance-critical at least for Django's test suite.
|
||||
@lru_cache.lru_cache(maxsize=None)
|
||||
def get_models(self, app_mod=None, include_auto_created=False,
|
||||
def get_models(self, include_auto_created=False,
|
||||
include_deferred=False, include_swapped=False):
|
||||
"""
|
||||
Returns a list of all installed models.
|
||||
|
@ -166,16 +163,6 @@ class Apps(object):
|
|||
Set the corresponding keyword argument to True to include such models.
|
||||
"""
|
||||
self.check_models_ready()
|
||||
if app_mod:
|
||||
warnings.warn(
|
||||
"The app_mod argument of get_models is deprecated.",
|
||||
RemovedInDjango19Warning, stacklevel=2)
|
||||
app_label = app_mod.__name__.split('.')[-2]
|
||||
try:
|
||||
return list(self.get_app_config(app_label).get_models(
|
||||
include_auto_created, include_deferred, include_swapped))
|
||||
except LookupError:
|
||||
return []
|
||||
|
||||
result = []
|
||||
for app_config in self.app_configs.values():
|
||||
|
@ -344,103 +331,5 @@ class Apps(object):
|
|||
for model in self.get_models(include_auto_created=True):
|
||||
model._meta._expire_cache()
|
||||
|
||||
### DEPRECATED METHODS GO BELOW THIS LINE ###
|
||||
|
||||
def load_app(self, app_name):
|
||||
"""
|
||||
Loads the app with the provided fully qualified name, and returns the
|
||||
model module.
|
||||
"""
|
||||
warnings.warn(
|
||||
"load_app(app_name) is deprecated.",
|
||||
RemovedInDjango19Warning, stacklevel=2)
|
||||
app_config = AppConfig.create(app_name)
|
||||
app_config.import_models(self.all_models[app_config.label])
|
||||
self.app_configs[app_config.label] = app_config
|
||||
self.clear_cache()
|
||||
return app_config.models_module
|
||||
|
||||
def app_cache_ready(self):
|
||||
warnings.warn(
|
||||
"app_cache_ready() is deprecated in favor of the ready property.",
|
||||
RemovedInDjango19Warning, stacklevel=2)
|
||||
return self.ready
|
||||
|
||||
def get_app(self, app_label):
|
||||
"""
|
||||
Returns the module containing the models for the given app_label.
|
||||
"""
|
||||
warnings.warn(
|
||||
"get_app_config(app_label).models_module supersedes get_app(app_label).",
|
||||
RemovedInDjango19Warning, stacklevel=2)
|
||||
try:
|
||||
models_module = self.get_app_config(app_label).models_module
|
||||
except LookupError as exc:
|
||||
# Change the exception type for backwards compatibility.
|
||||
raise ImproperlyConfigured(*exc.args)
|
||||
if models_module is None:
|
||||
raise ImproperlyConfigured(
|
||||
"App '%s' doesn't have a models module." % app_label)
|
||||
return models_module
|
||||
|
||||
def get_apps(self):
|
||||
"""
|
||||
Returns a list of all installed modules that contain models.
|
||||
"""
|
||||
warnings.warn(
|
||||
"[a.models_module for a in get_app_configs()] supersedes get_apps().",
|
||||
RemovedInDjango19Warning, stacklevel=2)
|
||||
app_configs = self.get_app_configs()
|
||||
return [app_config.models_module for app_config in app_configs
|
||||
if app_config.models_module is not None]
|
||||
|
||||
def _get_app_package(self, app):
|
||||
return '.'.join(app.__name__.split('.')[:-1])
|
||||
|
||||
def get_app_package(self, app_label):
|
||||
warnings.warn(
|
||||
"get_app_config(label).name supersedes get_app_package(label).",
|
||||
RemovedInDjango19Warning, stacklevel=2)
|
||||
return self._get_app_package(self.get_app(app_label))
|
||||
|
||||
def _get_app_path(self, app):
|
||||
if hasattr(app, '__path__'): # models/__init__.py package
|
||||
app_path = app.__path__[0]
|
||||
else: # models.py module
|
||||
app_path = app.__file__
|
||||
return os.path.dirname(upath(app_path))
|
||||
|
||||
def get_app_path(self, app_label):
|
||||
warnings.warn(
|
||||
"get_app_config(label).path supersedes get_app_path(label).",
|
||||
RemovedInDjango19Warning, stacklevel=2)
|
||||
return self._get_app_path(self.get_app(app_label))
|
||||
|
||||
def get_app_paths(self):
|
||||
"""
|
||||
Returns a list of paths to all installed apps.
|
||||
|
||||
Useful for discovering files at conventional locations inside apps
|
||||
(static files, templates, etc.)
|
||||
"""
|
||||
warnings.warn(
|
||||
"[a.path for a in get_app_configs()] supersedes get_app_paths().",
|
||||
RemovedInDjango19Warning, stacklevel=2)
|
||||
self.check_apps_ready()
|
||||
app_paths = []
|
||||
for app in self.get_apps():
|
||||
app_paths.append(self._get_app_path(app))
|
||||
return app_paths
|
||||
|
||||
def register_models(self, app_label, *models):
|
||||
"""
|
||||
Register a set of models as belonging to an app.
|
||||
"""
|
||||
warnings.warn(
|
||||
"register_models(app_label, *models) is deprecated.",
|
||||
RemovedInDjango19Warning, stacklevel=2)
|
||||
for model in models:
|
||||
self.register_model(app_label, model)
|
||||
|
||||
|
||||
apps = Apps(installed_apps=None)
|
||||
|
|
Loading…
Reference in New Issue