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)
def visit_chart_group(self, group_spec, game, parent_group, order, common_chart_type=None): common_chart_type = group_spec.get('common_chart_type', common_chart_type) try: chart_group = ChartGroup.objects.get(game=game, parent_group=parent_group, name=group_spec['name']) except ChartGroup.DoesNotExist: chart_group = ChartGroup(game=game, parent_group=parent_group, name=group_spec['name'], order_in_parent=order, show_charts_together=group_spec.get( 'show_charts_together', False)) chart_group.save() if 'child_groups' in group_spec: for child_order, child_group in enumerate( group_spec['child_groups'], 1): self.visit_chart_group(child_group, game, chart_group, child_order, common_chart_type=common_chart_type) if 'charts' in group_spec: for chart_order, chart_spec in enumerate(group_spec['charts'], 1): # `chart_spec` can be either a dict, or just a name string. if isinstance(chart_spec, str): chart_name = chart_spec chart_type_name = None else: chart_name = chart_spec['name'] chart_type_name = chart_spec.get('type') if not chart_type_name: if not common_chart_type: raise ValueError( f"No chart type specified for chart {chart_name}" f" of group {group_spec['name']}" f" (group id {chart_group.id})") chart_type_name = common_chart_type chart_type = ChartType.objects.get(game=game, name=chart_type_name) try: Chart.objects.get(chart_group=chart_group, name=chart_name) except Chart.DoesNotExist: chart = Chart(chart_group=chart_group, name=chart_name, order_in_group=chart_order, chart_type=chart_type) chart.save()
def x(self): c = City(name='Limoeiro do Norte') c.save() name = 'Felipe Andrade Holanda' d = datetime(1986, 12, 22, 6, 34) date = d.date() time = d.time() city = c chart = Chart(name=name, date=date, time=time, city=city) chart.save()
def setUpTestData(cls): super().setUpTestData() cls.game = Game(name="Game") cls.game.save() ct1 = ChartType(name="CT1", game=cls.game, format_spec=[], order_ascending=True) ct1.save() # Make a chart group hierarchy with breadth and depth of at least 5. # And add about as many charts, some top level, some nested. for n in range(1, 5 + 1): cg = ChartGroup(name=f"Top level group {n}", order_in_parent=n, game=cls.game) cg.save() chart = Chart(chart_group=cg, name=f"Chart {cg.id}", order_in_group=1, chart_type=ct1) chart.save() cg = ChartGroup(name=f"Top level group 6", order_in_parent=6, game=cls.game) cg.save() prev_cg = cg for n in range(1, 5 + 1): cg = ChartGroup(name=f"Nested group {n}", order_in_parent=1, parent_group=prev_cg, game=cls.game) cg.save() prev_cg = cg for n in range(1, 5 + 1): chart = Chart(chart_group=cg, name=f"Nested chart {cg.id}", order_in_group=n, chart_type=ct1) chart.save()
def init_chart(language): c = Chart() c.week = datetime.datetime.today() c.language = language c.save() return c