def test_datetime(self): d = datetime.datetime(year= 2010,month=12, day=5) expected_timestamp = time.mktime(d.timetuple()) s = jsonutil.dumps(d) dct = json.loads(s) self.assertEquals(dct, {'__type__': 'datetime.datetime', 'timestamp': expected_timestamp})
def _json_response(jsondata, *args, **kwargs): """Convert a Python structure (such as dict, list, string, etc) into a json bystream which is then returned as a Django HttpResponse.""" rawjson = jsonutil.dumps(jsondata, *args, **kwargs) return HttpResponse(rawjson, content_type='application/json')
def task_xy_dataview_test(request): from celerymanagementapp import jsonutil from django.template import Template html = """ <html> <head> <title>XY Dataview -- Test</title> <script type="text/javascript" src="/celerymanagementapp/site_media/js/less.js" ></script> <script type="text/javascript" src="/celerymanagementapp/site_media/js/jquery.js" ></script> <script type="text/javascript" src="/celerymanagementapp/site_media/js/jquery.form.js" ></script> <script type="text/javascript" src="/celerymanagementapp/site_media/js/jquery.flot.min.js" ></script> <script type="text/javascript" src="/celerymanagementapp/site_media/js/jquery.flot.selection.min.js" ></script> <script type="text/javascript" src="/celerymanagementapp/site_media/js/jquery.flot.stack.js" ></script> <script type="text/javascript" src="/celerymanagementapp/site_media/js/anytime.min.js"></script> <script type="text/javascript" src="/celerymanagementapp/site_media/js/json.js" ></script> <script type="text/javascript" src="/celerymanagementapp/site_media/js/ajax.js" ></script> <script type="text/javascript" src="/celerymanagementapp/site_media/js/core.js" ></script> <script type="text/javascript" src="/celerymanagementapp/site_media/js/System.js"></script> <script type="text/javascript" src="/celerymanagementapp/site_media/js/Chart.js" ></script> <script type="text/javascript" src="/celerymanagementapp/site_media/js/DataParser.js" ></script> <script type="text/javascript" src="/celerymanagementapp/site_media/js/EventBus.js"></script> <script type="text/javascript" src="/celerymanagementapp/site_media/js/query.js"></script> <script> CMA.Core.USE_MODE = "dynamic"; </script> <!-- <script type="text/javascript" src="{{{{ CELERYMANAGEMENTAPP_MEDIA_PREFIX }}}}js/jquery.js" ></script> <script type="text/javascript" src="{{{{ CELERYMANAGEMENTAPP_MEDIA_PREFIX }}}}js/ajax.js" ></script> <script type="text/javascript" src="{{{{ CELERYMANAGEMENTAPP_MEDIA_PREFIX }}}}js/json.js" ></script> <script type="text/javascript" src="{{{{ CELERYMANAGEMENTAPP_MEDIA_PREFIX }}}}js/DataParser.js" ></script> <script type="text/javascript" src="{{{{ CELERYMANAGEMENTAPP_MEDIA_PREFIX }}}}js/EventBus.js" ></script> <script type="text/javascript" src="{{{{ CELERYMANAGEMENTAPP_MEDIA_PREFIX }}}}js/less.js" ></script> <script type="text/javascript" src="{{{{ CELERYMANAGEMENTAPP_MEDIA_PREFIX }}}}js/System.js" ></script> <script type="text/javascript" src="{{{{ CELERYMANAGEMENTAPP_MEDIA_PREFIX }}}}js/Chart.js" ></script> <script type="text/javascript" src="{{{{ CELERYMANAGEMENTAPP_MEDIA_PREFIX }}}}js/jquery.flot.min.js" ></script> <script type="text/javascript" src="{{{{ CELERYMANAGEMENTAPP_MEDIA_PREFIX }}}}js/jquery.flot.selection.min.js" ></script> <script type="text/javascript" src="{{{{ CELERYMANAGEMENTAPP_MEDIA_PREFIX }}}}js/jquery.flot.stack.js" ></script> <script type="text/javascript" src="{{{{ CELERYMANAGEMENTAPP_MEDIA_PREFIX }}}}js/query.js" ></script> <script type="text/javascript" src="{{{{ CELERYMANAGEMENTAPP_MEDIA_PREFIX }}}}js/less.js" ></script> <script type="text/javascript" src="{{{{ CELERYMANAGEMENTAPP_MEDIA_PREFIX }}}}js/anytime.min.js" ></script> <script type="text/javascript" src="{{{{ CELERYMANAGEMENTAPP_MEDIA_PREFIX }}}}js/jquery.form.js" ></script> <script type="text/javascript" src="{{{{ CELERYMANAGEMENTAPP_MEDIA_PREFIX }}}}js/jquery-ui.js" ></script> <script type="text/javascript" src="{{{{ CELERYMANAGEMENTAPP_MEDIA_PREFIX }}}}js/system_canvas.js" ></script> <script type="text/javascript" src="{{{{ CELERYMANAGEMENTAPP_MEDIA_PREFIX }}}}js/core.js" ></script> --> <script> function json() {{ var query = '{query}'; $.post( '{url}', query, function(data) {{ console.log(data); console.log(data["data"]); //alert("Data loaded: " + data); //alert(data.data); //alert(data.data[0]); }}, 'json' ); }} </script> </head> <body> <form name="testform" action="{url}" method="POST"> <table> {{% csrf_token %}} <tr><td> <input type="button" value="Send" onclick="json();"/> </td></tr> </table> </form> </body> </html> """ min = 1297371600 max = 1297382400 min = 1297368000 max = 1297396800 interval = 3600 min *= 1000 max *= 1000 interval *= 1000 url = urlreverse('celerymanagementapp.dataviews.task_xy_dataview') data = {"segmentize":{"field":"sent","method":["range",{"min":min,"max":max,"interval":interval}]},"aggregate":[{"field":"count","methods":["average"]}]} ##{"segmentize":{"field":"sent","method":["range",{"min":1297368000000,"max":1297396800000,"interval":3600000}]},"aggregate":[{"field":"count","methods":["average"]}]} json = jsonutil.dumps(data) html = html.format(url=url, query=json) t = Template(html) c = RequestContext(request) return HttpResponse(t.render(c))