From de3905cd4b4e2b1df493e1bd859505932c5d2afb Mon Sep 17 00:00:00 2001 From: montiniz Date: Sat, 14 Mar 2015 18:17:10 -0500 Subject: [PATCH 1/2] Raise syntax no longer accepts comma-separated arguments in python3 --- djadmin2/types.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/djadmin2/types.py b/djadmin2/types.py index 79a18d7..7abd08f 100644 --- a/djadmin2/types.py +++ b/djadmin2/types.py @@ -224,7 +224,11 @@ class ModelAdmin2(with_metaclass(ModelAdminBase2)): 'Cannot instantiate admin view "{}.{}". ' 'The error that got raised was: {}'.format( self.__class__.__name__, admin_view.name, e)) - raise (new_exception, None, trace) + try: + raise new_exception.with_traceback(trace) + except AttributeError: + raise (new_exception, None, trace) + pattern_list.append( url( regex=admin_view.url, From 1802fce73d4b3370463d77ac0467711af8aae11f Mon Sep 17 00:00:00 2001 From: montiniz Date: Sat, 21 Mar 2015 12:55:06 -0500 Subject: [PATCH 2/2] Added tests for ModelAdmin.get_urls --- djadmin2/tests/test_types.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/djadmin2/tests/test_types.py b/djadmin2/tests/test_types.py index 7883e19..088f083 100644 --- a/djadmin2/tests/test_types.py +++ b/djadmin2/tests/test_types.py @@ -65,3 +65,21 @@ class ModelAdminTest(TestCase): 'paginate_by', admin_instance.get_index_kwargs().keys() ) + + def test_get_urls(self): + admin_instance = ModelAdmin2(BigThing, Admin2) + self.assertEqual(6, len(admin_instance.get_urls())) + + def test_get_urls_throws_type_error(self): + with self.assertRaises(TypeError): + try: + admin_instance = ModelAdmin2(BigThing, Admin2) + admin_instance.views = [views.AdminView(None, None, None)] + admin_instance.get_urls() + + except TypeError as e: + message = u"Cannot instantiate admin view " \ + '"ModelAdmin2.None". The error that got raised was: ' \ + "'NoneType' object has no attribute 'as_view'" + self.assertEqual(e.args[0], message) + raise