Made Diane's suggest json problem fix for python 2.5/2.6 support... now using simplej...
authorBrandon King <kingb@caltech.edu>
Thu, 2 Jul 2009 01:29:34 +0000 (01:29 +0000)
committerBrandon King <kingb@caltech.edu>
Thu, 2 Jul 2009 01:29:34 +0000 (01:29 +0000)
htsworkflow/frontend/bcmagic/views.py
htsworkflow/frontend/inventory/views.py
htsworkflow/util/jsonutil.py [deleted file]

index 835ccf42ddb63c0f290788d63d995f5004dcb3f3..9d145b6092b82489798271d70e515b05dd334e7c 100644 (file)
@@ -6,7 +6,12 @@ from django.core.exceptions import ObjectDoesNotExist
 from htsworkflow.frontend.bcmagic import models
 from htsworkflow.frontend.bcmagic.utils import report_error, redirect_to_url
 from htsworkflow.frontend.bcmagic.plugin import bcm_plugin_processor
-from htsworkflow.util.jsonutil import encode_json
+#from htsworkflow.util.jsonutil import encode_json
+
+try:
+    import json
+except ImportError, e:
+    import simplejson as json
 
 import re
 
@@ -90,8 +95,8 @@ def magic(request):
     if text is None or text.strip() == '':
         d['mode'] = 'Error'
         d['status'] = 'Did not recieve text'
-        j = json.JSONEncoder()
-        return HttpResponse(j.encode(d), 'text/plain')
+        
+        return HttpResponse(json.dumps(d), 'text/plain')
     
     # Did not receive bcm_mode error
     if bcm_mode is None or bcm_mode.strip() == '':
@@ -117,7 +122,7 @@ def magic(request):
     else:
         d = __magic_process(text)
     
-    return HttpResponse(encode_json(d), 'text/plain')
+    return HttpResponse(json.dumps(d), 'text/plain')
 
 
 
@@ -129,11 +134,11 @@ def json_test(request):
     else:
         text = None
     
-    #return HttpResponse(encode_json(request.POST.items()), 'text/plain')
+    #return HttpResponse(json.dumps(request.POST.items()), 'text/plain')
     if text is None or text.strip() == '':
         d['mode'] = 'Error'
         d['status'] = 'Did not recieve text'
-        return HttpResponse(encode_json(d), 'text/plain')
+        return HttpResponse(json.dumps(d), 'text/plain')
     
     if text.split('|')[0] == 'url':
         d['mode'] = 'redirect'
@@ -142,4 +147,4 @@ def json_test(request):
         d['msg'] = 'Recieved text: %s' % (text)
         d['mode'] = 'clear'
     
-    return HttpResponse(json_encode(d), 'text/plain')
+    return HttpResponse(json.dumps(d), 'text/plain')
index 5dd3655aa583edc5d8985bbce2acdf2f20e372dc..7049320c9f79b5fd7adbc0ca4d6dbe3856dc97be 100644 (file)
@@ -3,7 +3,7 @@ from htsworkflow.frontend.experiments.models import FlowCell
 from htsworkflow.frontend.bcmagic.forms import BarcodeMagicForm
 from htsworkflow.frontend.bcprinter.util import print_zpl_socket
 from htsworkflow.frontend import settings
-from htsworkflow.util.jsonutil import encode_json
+#from htsworkflow.util.jsonutil import encode_json
 
 from django.core.exceptions import ObjectDoesNotExist
 from django.http import HttpResponse, HttpResponseRedirect
@@ -12,7 +12,10 @@ from django.template import RequestContext
 from django.template.loader import get_template
 from django.contrib.auth.decorators import login_required
 
-
+try:
+    import json
+except ImportError, e:
+    import simplejson as json
 
 INVENTORY_CONTEXT_DEFAULTS = {
     'app_name': 'Inventory Tracker',
@@ -71,7 +74,7 @@ def data_items(request):
     
     d['rows'] = rows
     
-    return HttpResponse(encode_json(d), content_type="application/javascript")
+    return HttpResponse(json.dumps(d), content_type="application/javascript")
 
 @login_required
 def index(request):
diff --git a/htsworkflow/util/jsonutil.py b/htsworkflow/util/jsonutil.py
deleted file mode 100644 (file)
index 84dc599..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-import json
-
-_ENCODER_METHOD = 1
-_WRITE_METHOD = 2
-
-JSON_METHOD = None
-
-try:
-    json.write({})
-except:
-    JSON_METHOD = _ENCODER_METHOD
-
-try:
-    json.JSONEncoder()
-except:
-    JSON_METHOD = _WRITE_METHOD
-
-assert JSON_METHOD is not None
-
-
-def encode_json(data):
-    """
-    encodes json data given whatever json module we have access to (2.6 builtin or python-json)
-    """
-    if JSON_METHOD == _ENCODER_METHOD:
-        j = json.JSONEncoder()
-        return j.encode(data)
-    
-    elif JSON_METHOD == _WRITE_METHOD:
-        return json.write(data)
-
-    msg = "JSON_METHOD of value %s not supported." % (JSON_METHOD)
-    raise ValueError, msg
\ No newline at end of file