Ejemplo n.º 1
0
def edit(request, cid=None):
    if cid:
        chart = get_object_or_404(Chart, pk=cid)
    else:
        chart = Chart(name='blank_chart',
                      data='1,2,3,4,5',
                      chart_instructions="""
chart Line dataset1 encoding=text
size 300 300 
scale 0 5
endchart""")
        chart.save()
    data = ''
    scale = ''
    ns = {}
    if 'save_chart' in request.POST:
        ds, chartimg = interp(request.POST['data'], request.POST['inst'])
        ns['inst'] = request.POST['inst']
        ns['data'] = '\r\n'.join([','.join(map(str, d)) for d in ds.values()])
        ns['chartimg'] = chartimg
        chart.data = request.POST['data']
        chart.chart_instructions = ns['inst']
        chart.save()
        return HttpResponse('<a href="/view/%d/">%s</a>' %
                            (chart.id, ns['chartimg']))
    else:
        ns['data'] = chart.data
        ns['inst'] = chart.chart_instructions
        ds, ns['chartimg'] = interp(chart.data, chart.chart_instructions)
    ns['chart'] = chart
    return render_to_response('charts/edit.html', ns)