Ejemplo n.º 1
0
 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})
Ejemplo n.º 2
0
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')
Ejemplo n.º 3
0
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))