#10144: get_comment_app calls __import__ with strings instead of dictionaries 
for
2nd and 3rd arguments
---------------------------------+------------------------------------------
   Reporter:  jfenwick           |                Owner:  nobody    
     Status:  new                |            Milestone:            
  Component:  Testing framework  |              Version:  1.0       
   Keywords:  comments           |                Stage:  Unreviewed
  Has_patch:  1                  |           Needs_docs:  0         
Needs_tests:  0                  |   Needs_better_patch:  0         
---------------------------------+------------------------------------------
 When the comment_tests test is run under jython, I get this error:

 ======================================================================
 ERROR: testGetCommentApp
 (regressiontests.comment_tests.tests.app_api_tests.CommentAppAPITests)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
   File
 
"/Users/jacob/projects/djython/django-1.0.X/tests/regressiontests/comment_tests/tests/app_api_tests.py",
 line 11, in testGetCommentApp
     self.assertEqual(comments.get_comment_app(), comments)
   File
 
"/Users/jacob/projects/djython/django-1.0.X/django/contrib/comments/__init__.py",
 line 20, in get_comment_app
     package = __import__(comments_app, '', '', [''])
   File
 
"/Users/jacob/projects/djython/django-1.0.X/django/contrib/comments/__init__.py",
 line 20, in get_comment_app
     package = __import__(comments_app, '', '', [''])
 TypeError: str indices must be integers


 The problem is that the __import__ function is taking a string for the
 second and third arguments when the parameters should be dictionaries.
 Python seems to coerce the strings into the correct format, but jython
 does not.

 Here is the patch, which should be applied to all version of django:

 svn diff __init__.py
 Index: __init__.py
 ===================================================================
 --- __init__.py (revision 9791)
 +++ __init__.py (working copy)
 @@ -17,7 +17,7 @@

      # Try to import the package
      try:
 -        package = __import__(comments_app, '', '', [''])
 +        package = __import__(comments_app, globals(), locals(), [''])
      except ImportError:
          raise ImproperlyConfigured("The COMMENTS_APP setting refers to "\
                                     "a non-existing package.")

-- 
Ticket URL: <http://code.djangoproject.com/ticket/10144>
Django <http://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to