예제 #1
0
 def lapspercar_svg(self, curr_url=None):
     if not config.config.HTTP_CONFIG.enable_svg_generation:
         return ""
     stats = self.lastStat
     pie_chart = Pie(pygalConfig)
     pie_chart.title = 'Car usage (% laps driven)'
     tl = stats['numLaps']
     lapsPerTrack = sorted(stats['lapsPerCar'].items(),
                           key=lambda x: x[1],
                           reverse=True)
     valueToItem = {}
     for t, nl in lapsPerTrack:
         v = nl * 100 / tl
         while v in valueToItem:
             v -= 1e-9
         valueToItem[v] = t
         pie_chart.add(t, v)
     pie_chart.value_formatter = lambda x, valueToItem=valueToItem: "%s: %.1f%%" % (
         valueToItem.get(x, '?'), x)
     return pie_chart.render()
예제 #2
0
 def lapspercombo_svg(self, curr_url=None):
     if not config.config.HTTP_CONFIG.enable_svg_generation:
         return ""
     stats = self.lastStat
     pie_chart = Pie(pygalConfig)
     pie_chart.title = 'Combo usage (% laps driven)'
     tl = stats['numLaps']
     lapsPerCombo = sorted(stats['lapsPerCombo'].items(),
                           key=lambda x: x[1]['lapCount'],
                           reverse=True)
     valueToItem = {}
     for t, info in lapsPerCombo:
         nl = info['lapCount']
         name = "+".join(info['cars']) + '@' + info['track']
         v = nl * 100 / tl
         while v in valueToItem:
             v -= 1e-9
         valueToItem[v] = name
         pie_chart.add(name, v)
     pie_chart.value_formatter = lambda x, valueToItem=valueToItem: "%s: %.1f%%" % (
         valueToItem.get(x, '?'), x)
     return pie_chart.render()