Module ImportFrom alias FunctionDef arguments args defaults body ImportFrom alias If CompareNotIn Str AttributeLoad NameLoad attr body Expr Call AttributeLoad AttributeLoad NameLoad attr attr ListLoad Str Str Str decorator_list If UnaryOpNot Call NameLoad body Expr Call NameLoad FunctionDef arguments args defaults body Expr Str If Call NameLoad body Return ImportFrom alias If CompareNotIn Str AttributeLoad NameLoad attr body Expr Call NameLoad Import alias Import alias Import alias Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str NameLoad decorator_list ClassDef bases NameLoad body FunctionDef arguments args NameParam NameParam defaults body ImportFrom alias ImportFrom alias ImportFrom alias For NameStore AttributeLoad NameLoad attr body If Call AttributeLoad NameLoad attr Str body Raise Call NameLoad Str orelse If CompareEq NameLoad Str body Break Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Call NameLoad Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list decorator_list
N/A djangae.utils on_production fix_c_whitelist N/A N/A N/A N/A google.appengine.tools.devappserver2.python sandbox N/A N/A _sqlite3 N/A sandbox _WHITE_LIST_C_MODULES N/A N/A N/A N/A N/A sandbox _WHITE_LIST_C_MODULES extend N/A _sqlite3 _ssl _socket N/A N/A N/A N/A on_production N/A N/A N/A fix_c_whitelist fix_sandbox N/A N/A N/A N/A N/A 
        This is the nastiest thing in the world...

        This WSGI middleware is the first chance we get to hook into anything. On the dev_appserver
        at this point the Python sandbox will have already been initialized. The sandbox replaces stuff
        like the subprocess module, and the select module. As well as disallows _sqlite3. These things
        are really REALLY useful for development.

        So here we dismantle parts of the sandbox. Firstly we add _sqlite3 to the allowed C modules.

        This only happens on the dev_appserver, it would only die on live. Everything is checked so that
        changes are only made if they haven't been made already.
     N/A N/A on_production N/A N/A google.appengine.tools.devappserver2.python sandbox N/A N/A _sqlite3 N/A sandbox _WHITE_LIST_C_MODULES N/A N/A N/A fix_c_whitelist N/A imp N/A os N/A ast N/A psocket N/A N/A N/A os path join N/A N/A N/A os path dirname N/A ast __file__ socket.py N/A N/A N/A imp load_source socket psocket N/A DjangaeApplication N/A object N/A __init__ N/A N/A self application N/A N/A django.conf settings django.core.exceptions ImproperlyConfigured django VERSION N/A app N/A settings INSTALLED_APPS N/A N/A N/A N/A app startswith django. N/A N/A N/A ImproperlyConfigured You must place 'djangae' before any 'django' apps in INSTALLED_APPS N/A N/A N/A app djangae N/A N/A N/A N/A self wrapped_app application N/A __call__ N/A N/A self environ start_response N/A N/A N/A N/A fix_sandbox N/A N/A N/A self wrapped_app environ start_response N/A N/A