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)
Ejemplo n.º 2
0
    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()
Ejemplo n.º 3
0
    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()
Ejemplo n.º 4
0
    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()
Ejemplo n.º 5
0
def init_chart(language):
    c = Chart()
    c.week = datetime.datetime.today()
    c.language = language
    c.save()
    return c