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 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 setUpTestData(cls): super().setUpTestData() cls.game = Game(name="F-Zero") cls.game.save() ct1 = ChartType(name="CT1", game=cls.game, format_spec=[], order_ascending=True) ct1.save() cls.cg_kl = ChartGroup(name="Knight League", order_in_parent=1, game=cls.game) cls.cg_kl.save() cls.cg_ql = ChartGroup(name="Queen League", order_in_parent=2, game=cls.game) cls.cg_ql.save() cls.cg_mc1 = ChartGroup(name="Mute City I", order_in_parent=1, game=cls.game, parent_group=cls.cg_kl) cls.cg_mc1.save() cls.chart_mc1c = Chart(name="Course Time", order_in_group=1, chart_group=cls.cg_mc1, chart_type=ct1) cls.chart_mc1c.save() game_2 = Game(name="F-Zero: Maximum Velocity") game_2.save() ChartGroup(name="Pawn Cup", order_in_parent=1, game=game_2).save()
def create_sys_charts(self): from datetime import datetime from charts.models import Chart from django.contrib.auth.models import User admin = User.objects.get(username='******') now = datetime.now() chart = Chart.create(admin.profile, 'Now', now.date(), now.time()) chart.save()
def setUpTestData(cls): super().setUpTestData() cls.game = Game(name="G") cls.game.save() game_2 = Game(name="G") game_2.save() cg1 = ChartGroup(name="CG1", game=cls.game, order_in_parent=1) cg1.save() cls.ct1 = ChartType( name="CT1", game=cls.game, format_spec=[], order_ascending=True) cls.ct1.save() cls.ct2 = ChartType( name="CT2", game=cls.game, format_spec=[], order_ascending=True) cls.ct2.save() cls.c1 = Chart( name="C1", chart_group=cg1, order_in_group=1, chart_type=cls.ct1) cls.c1.save() cls.c2 = Chart( name="C2", chart_group=cg1, order_in_group=2, chart_type=cls.ct2) cls.c2.save() # Add FGs to game 1 specifying a different order from alphabetical # or FG ID, so we can tell the order field is respected. cls.fg1 = FilterGroup(name="FG1", game=cls.game, order_in_game=2) cls.fg1.save() cls.fg2 = FilterGroup(name="FG2", game=cls.game, order_in_game=1) cls.fg2.save() cls.fg3 = FilterGroup(name="FG3", game=cls.game, order_in_game=3) cls.fg3.save() cls.fg4 = FilterGroup(name="FG4", game=cls.game, order_in_game=4) cls.fg4.save() # Add one FG to game 2, so that we can tell we're only getting FGs # of game 1. cls.fg5 = FilterGroup(name="FG5", game=game_2, order_in_game=1) cls.fg5.save() # Don't link FG4, so we can tell we're only getting FGs of this CT. cls.ct1.filter_groups.add(cls.fg1, cls.fg2, cls.fg3)
def save(self, *args, **kwargs): from charts.models import Chart self.name = "%s %s" % (self.user.first_name, self.user.last_name) self.update_datetime_city() super(UserProfile, self).save(*args, **kwargs) if self.chart: self.chart.date = self.date self.chart.time = self.time self.chart.save() else: if self.date: self.chart = Chart.create(name=self.name, date=self.date, time=self.time, city=self.city) self.chart.save() super(UserProfile, self).save(force_update=True)
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