From 242fc605209375425f25cdf591089d7804835606 Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick Date: Sun, 8 Mar 2009 09:39:48 +0000 Subject: [PATCH] Fixed #9323 -- Allow glob loading in INSTALLED_APPS to handle digits in names. Patch from carljm. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9994 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/conf/__init__.py | 2 +- tests/regressiontests/app_loading/__init__.py | 0 tests/regressiontests/app_loading/models.py | 0 .../app_loading/parent/__init__.py | 1 + .../app_loading/parent/app/__init__.py | 1 + .../app_loading/parent/app1/__init__.py | 1 + .../app_loading/test_settings.py | 3 +++ tests/regressiontests/app_loading/tests.py | 18 ++++++++++++++++++ 8 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 tests/regressiontests/app_loading/__init__.py create mode 100644 tests/regressiontests/app_loading/models.py create mode 100644 tests/regressiontests/app_loading/parent/__init__.py create mode 100644 tests/regressiontests/app_loading/parent/app/__init__.py create mode 100644 tests/regressiontests/app_loading/parent/app1/__init__.py create mode 100644 tests/regressiontests/app_loading/test_settings.py create mode 100644 tests/regressiontests/app_loading/tests.py diff --git a/django/conf/__init__.py b/django/conf/__init__.py index 425425bc5ff..785302c6fdd 100644 --- a/django/conf/__init__.py +++ b/django/conf/__init__.py @@ -92,7 +92,7 @@ class Settings(object): app_subdirs = os.listdir(appdir) app_subdirs.sort() for d in app_subdirs: - if d.isalpha() and os.path.isdir(os.path.join(appdir, d)): + if d.isalnum() and d[0].isalpha() and os.path.isdir(os.path.join(appdir, d)): new_installed_apps.append('%s.%s' % (app[:-2], d)) else: new_installed_apps.append(app) diff --git a/tests/regressiontests/app_loading/__init__.py b/tests/regressiontests/app_loading/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/regressiontests/app_loading/models.py b/tests/regressiontests/app_loading/models.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/regressiontests/app_loading/parent/__init__.py b/tests/regressiontests/app_loading/parent/__init__.py new file mode 100644 index 00000000000..51c842b5ba8 --- /dev/null +++ b/tests/regressiontests/app_loading/parent/__init__.py @@ -0,0 +1 @@ +# not empty to make SVN happy diff --git a/tests/regressiontests/app_loading/parent/app/__init__.py b/tests/regressiontests/app_loading/parent/app/__init__.py new file mode 100644 index 00000000000..51c842b5ba8 --- /dev/null +++ b/tests/regressiontests/app_loading/parent/app/__init__.py @@ -0,0 +1 @@ +# not empty to make SVN happy diff --git a/tests/regressiontests/app_loading/parent/app1/__init__.py b/tests/regressiontests/app_loading/parent/app1/__init__.py new file mode 100644 index 00000000000..51c842b5ba8 --- /dev/null +++ b/tests/regressiontests/app_loading/parent/app1/__init__.py @@ -0,0 +1 @@ +# not empty to make SVN happy diff --git a/tests/regressiontests/app_loading/test_settings.py b/tests/regressiontests/app_loading/test_settings.py new file mode 100644 index 00000000000..e956311b0a7 --- /dev/null +++ b/tests/regressiontests/app_loading/test_settings.py @@ -0,0 +1,3 @@ +INSTALLED_APPS = ( + 'parent.*', +) diff --git a/tests/regressiontests/app_loading/tests.py b/tests/regressiontests/app_loading/tests.py new file mode 100644 index 00000000000..afa30493300 --- /dev/null +++ b/tests/regressiontests/app_loading/tests.py @@ -0,0 +1,18 @@ +""" +Test the globbing of INSTALLED_APPS. + +>>> import os, sys +>>> old_sys_path = sys.path +>>> sys.path.append(os.path.dirname(os.path.abspath(__file__))) + +>>> from django.conf import Settings + +>>> s = Settings('test_settings') + +>>> s.INSTALLED_APPS +['parent.app', 'parent.app1'] + +>>> sys.path = old_sys_path + +""" +