From 35e8dc5169013437d71ae60e05c7f3356d86236e Mon Sep 17 00:00:00 2001
From: Ramiro Morales <cramm0@gmail.com>
Date: Sat, 6 Oct 2012 19:56:28 -0300
Subject: [PATCH] Removed ad-hoc support for usage of short names of built-in
 DB backends.

This non-standard naming was deprecated in Django 1.2.
---
 django/db/utils.py                      | 23 +++++++----------------
 tests/regressiontests/backends/tests.py |  7 -------
 2 files changed, 7 insertions(+), 23 deletions(-)

diff --git a/django/db/utils.py b/django/db/utils.py
index b889cdf9ad..146de7b9f4 100644
--- a/django/db/utils.py
+++ b/django/db/utils.py
@@ -28,28 +28,19 @@ def load_backend(backend_name):
         # listing all possible (built-in) database backends.
         backend_dir = os.path.join(os.path.dirname(__file__), 'backends')
         try:
-            available_backends = [f for f in os.listdir(backend_dir)
+            builtin_backends = [f for f in os.listdir(backend_dir)
                     if os.path.isdir(os.path.join(backend_dir, f))
-                    and not (f.startswith('.') or f == '__pycache__')]
+                    and not (f.startswith('.') or f in ('__pycache__', 'dummy'))]
         except EnvironmentError:
-            available_backends = []
-        full_notation = backend_name.startswith('django.db.backends.')
-        if full_notation:
-            backend_name = backend_name[19:] # See #15621.
-        if backend_name not in available_backends:
-            backend_reprs = map(repr, sorted(available_backends))
+            builtin_backends = []
+        if backend_name not in ['django.db.backends.%s' % b for b in
+                                builtin_backends]:
+            backend_reprs = map(repr, sorted(builtin_backends))
             error_msg = ("%r isn't an available database backend.\n"
-                         "Try using django.db.backends.XXX, where XXX "
+                         "Try using 'django.db.backends.XXX', where XXX "
                          "is one of:\n    %s\nError was: %s" %
                          (backend_name, ", ".join(backend_reprs), e_user))
             raise ImproperlyConfigured(error_msg)
-        elif not full_notation:
-            # user tried to use the old notation for the database backend
-            error_msg = ("%r isn't an available database backend.\n"
-                         "Try using django.db.backends.%s instead.\n"
-                         "Error was: %s" %
-                         (backend_name, backend_name, e_user))
-            raise ImproperlyConfigured(error_msg)
         else:
             # If there's some other error, this must be an error in Django
             raise
diff --git a/tests/regressiontests/backends/tests.py b/tests/regressiontests/backends/tests.py
index cfa298253c..d284cfaac8 100644
--- a/tests/regressiontests/backends/tests.py
+++ b/tests/regressiontests/backends/tests.py
@@ -666,13 +666,6 @@ class ThreadTests(TestCase):
         self.assertEqual(len(exceptions), 0)
 
 
-class BackendLoadingTests(TestCase):
-    def test_old_style_backends_raise_useful_exception(self):
-        six.assertRaisesRegex(self, ImproperlyConfigured,
-            "Try using django.db.backends.sqlite3 instead",
-            load_backend, 'sqlite3')
-
-
 class MySQLPKZeroTests(TestCase):
     """
     Zero as id for AutoField should raise exception in MySQL, because MySQL