From 9c6efb2eeaca11c7e65ce3b63a09f2d1e0b247c3 Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick Date: Mon, 19 Jan 2009 12:46:54 +0000 Subject: [PATCH] Fixed #9789 -- Handle jython's compiled settings filename correctly. Patch from Frank Wierzbicki. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9775 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- AUTHORS | 1 + django/core/management/__init__.py | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/AUTHORS b/AUTHORS index 4dd4e6d0d9a..af45060b369 100644 --- a/AUTHORS +++ b/AUTHORS @@ -423,6 +423,7 @@ answer newbie questions, and generally made Django that much better: Chris Wesseling James Wheare Mike Wiacek + Frank Wierzbicki charly.wilhelm@gmail.com Rachel Willmer Gary Wilson diff --git a/django/core/management/__init__.py b/django/core/management/__init__.py index ce618cafb44..c4396d29761 100644 --- a/django/core/management/__init__.py +++ b/django/core/management/__init__.py @@ -311,7 +311,14 @@ def setup_environ(settings_mod, original_settings_path=None): if project_directory == os.curdir or not project_directory: project_directory = os.getcwd() project_name = os.path.basename(project_directory) + + # Strip filename suffix to get the module name. settings_name = os.path.splitext(settings_filename)[0] + + # Strip $py for Jython compiled files (like settings$py.class) + if settings_name.endswith("$py"): + settings_name = settings_name[:-3] + sys.path.append(os.path.join(project_directory, os.pardir)) project_module = __import__(project_name, {}, {}, ['']) sys.path.pop()