import logging

from django.http import HttpResponse
from django.utils.importlib import import_module
from django.views.decorators.csrf import csrf_exempt
from socketio import socketio_manage

# for Django 1.3 support
try:
    from django.conf.urls import patterns, url, include
except ImportError:
    from django.conf.urls.defaults import patterns, url, include  # noqa


SOCKETIO_NS = {}


LOADING_SOCKETIO = False


def autodiscover():
    """
    Auto-discover INSTALLED_APPS sockets.py modules and fail silently when
    not present. NOTE: socketio_autodiscover was inspired/copied from
    django.contrib.admin autodiscover
    """
    global LOADING_SOCKETIO
    if LOADING_SOCKETIO:
        return
    LOADING_SOCKETIO = True

    import imp
    from django.conf import settings

    for app in settings.INSTALLED_APPS:

        try:
            app_path = import_module(app).__path__
        except AttributeError:
            continue

        try:
            imp.find_module('sockets', app_path)
        except ImportError:
            continue

        import_module("%s.sockets" % app)

    LOADING_SOCKETIO = False


class namespace(object):
    def __init__(self, name=''):
        self.name = name

    def __call__(self, handler):
        SOCKETIO_NS[self.name] = handler
        return handler


@csrf_exempt
def socketio(request):
    try:
        socketio_manage(request.environ, SOCKETIO_NS, request)
    except:
        logging.getLogger("socketio").error("Exception while handling socketio connection", exc_info=True)
    return HttpResponse("")


urls = patterns("", (r'', socketio))

@@ -50,57 +50,8 @@
 nse%0A
-from django.utils.importlib import import_module%0A
 from
@@ -137,16 +137,135 @@
 manage%0A%0A
+try:%0A    from importlib import import_module%0Aexcept ImportError:%0A    from django.utils.importlib import import_module%0A%0A
 # for Dj
@@ -327,30 +327,16 @@
 patterns
-, url, include
 %0Aexcept 
@@ -402,30 +402,8 @@
 erns
-, url, include  # noqa
 %0A%0A%0AS

Update to use import_module from standard lib, fallback to django.utils