def test_dateline(): datey = DateLine(show_dots=False) datey.add('1', [ (datetime(2013, 1, 2), 300), (datetime(2013, 1, 12), 412), (datetime(2013, 2, 2), 823), (datetime(2013, 2, 22), 672) ]) datey.x_label_rotation = 25 return datey.render_response()
def test_date(): """Test a simple dateline""" date_chart = DateLine(truncate_label=1000) date_chart.add( 'dates', [(date(2013, 1, 2), 300), (date(2013, 1, 12), 412), (date(2013, 2, 2), 823), (date(2013, 2, 22), 672)] ) q = date_chart.render_pyquery() dates = list(map(lambda t: t.split(' ')[0], q(".axis.x text").map(texts))) assert dates == ['2013-01-12', '2013-01-24', '2013-02-04', '2013-02-16']
def test_date_labels(): """Test dateline with xrange""" datey = DateLine(truncate_label=1000) datey.add( 'dates', [(date(2013, 1, 2), 300), (date(2013, 1, 12), 412), (date(2013, 2, 2), 823), (date(2013, 2, 22), 672)] ) datey.x_labels = [date(2013, 1, 1), date(2013, 2, 1), date(2013, 3, 1)] q = datey.render_pyquery() dates = list(map(lambda t: t.split(' ')[0], q(".axis.x text").map(texts))) assert dates == ['2013-01-01', '2013-02-01', '2013-03-01']
def test_dateline(): dateline = DateLine(show_dots=False) dateline.x_labels = [ date(2013, 1, 1), date(2013, 7, 1), date(2014, 1, 1), date(2014, 7, 1), date(2015, 1, 1), date(2015, 7, 1), ] dateline.add( "1", [(date(2013, 1, 2), 300), (date(2014, 1, 12), 412), (date(2015, 2, 2), 823), (date(2013, 2, 22), 672)] ) dateline.x_label_rotation = 25 return dateline.render_response()
def test_dateline(): dateline = DateLine(y_label_rotation=112) dateline.x_labels = [ date(2013, 1, 1), date(2013, 7, 1), date(2014, 1, 1), date(2014, 7, 1), date(2015, 1, 1), date(2015, 7, 1) ] dateline.x_labels_major = [date(2013, 1, 1), date(2015, 7, 1)] dateline.add("Serie", [(date(2013, 1, 2), 213), (date(2013, 8, 2), 281), (date(2013, 5, 31), 281), (date(2014, 12, 7), 198), (date(2014, 9, 6), 198), (date(2015, 3, 21), 120)]) return dateline.render_response()
def test_dateline(): dateline = DateLine(y_label_rotation=112) dateline.x_labels = [ date(2013, 1, 1), date(2013, 7, 1), date(2014, 1, 1), date(2014, 7, 1), date(2015, 1, 1), date(2015, 7, 1) ] dateline.x_labels_major = [date(2013, 1, 1), date(2015, 7, 1)] dateline.add( "Serie", [(date(2013, 1, 2), 213), (date(2013, 8, 2), 281), (date(2013, 5, 31), 281), (date(2014, 12, 7), 198), (date(2014, 9, 6), 198), (date(2015, 3, 21), 120)] ) return dateline.render_response()
def test_dateline(): dateline = DateLine(show_dots=False) dateline.x_labels = [ date(2013, 1, 1), date(2013, 7, 1), date(2014, 1, 1), date(2014, 7, 1), date(2015, 1, 1), date(2015, 7, 1) ] dateline.add('1', [ (date(2013, 1, 2), 300), (date(2014, 1, 12), 412), (date(2015, 2, 2), 823), (date(2013, 2, 22), 672) ]) dateline.x_label_rotation = 25 return dateline.render_response()
def test_date(): """Test a simple dateline""" date_chart = DateLine(truncate_label=1000) date_chart.add('dates', [ (date(2013, 1, 2), 300), (date(2013, 1, 12), 412), (date(2013, 2, 2), 823), (date(2013, 2, 22), 672) ]) q = date_chart.render_pyquery() assert list( map(lambda t: t.split(' ')[0], q(".axis.x text").map(texts))) == [ '2013-01-12', '2013-01-24', '2013-02-04', '2013-02-16']
def serverstats_svg(self, curr_url=None): if not config.config.HTTP_CONFIG.enable_svg_generation: return "" stats = self.lastStat ppd = list(stats['numPlayersOnlinePerDay']) x = [] y = [] major_x = [] idx = 0 lastLabel = None if len(ppd) > 0: minDate = min([x['datetime'].date() for x in ppd]) maxDate = max([x['datetime'].date() for x in ppd]) for i in range((maxDate - minDate).days + 1): d = minDate + datetime.timedelta(i) if idx < len(ppd) and ppd[idx]['datetime'].date() == d: y.append(ppd[idx]['count']) idx += 1 else: y.append(0) x.append(d) if d.month != lastLabel: lastLabel = d.month major_x.append(d) else: pass #x.append("") num_days = (maxDate - minDate).days + 1 else: num_days = 0 line_chart = DateLine(pygalConfig, fill=True, dots_size=1, x_label_rotation=35) line_chart.title = 'Server usage over %d days' % num_days line_chart.add('Drivers online', zip(x, y)) #line_chart.x_value_formatter = lambda d: d.isoformat() #line_chart.x_labels = list(map(line_chart.x_value_formatter, x)) #line_chart.x_labels_major = list(map(line_chart.x_value_formatter, major_x)) return line_chart.render()
def test_date_xrange(): datey = DateLine(truncate_label=1000) datey.add('dates', [ (date(2013, 1, 2), 300), (date(2013, 1, 12), 412), (date(2013, 2, 2), 823), (date(2013, 2, 22), 672) ]) datey.xrange = (date(2013, 1, 1), date(2013, 3, 1)) q = datey.render_pyquery() assert list( map(lambda t: t.split(' ')[0], q(".axis.x text").map(texts))) == [ '2013-01-01', '2013-01-12', '2013-01-24', '2013-02-04', '2013-02-16', '2013-02-27']
def test_date_xrange(): """Test dateline with xrange""" datey = DateLine(truncate_label=1000) datey.add('dates', [ (date(2013, 1, 2), 300), (date(2013, 1, 12), 412), (date(2013, 2, 2), 823), (date(2013, 2, 22), 672) ]) datey.xrange = (date(2013, 1, 1), date(2013, 3, 1)) q = datey.render_pyquery() assert list( map(lambda t: t.split(' ')[0], q(".axis.x text").map(texts))) == [ '2013-01-01', '2013-01-12', '2013-01-24', '2013-02-04', '2013-02-16', '2013-02-27']
print '\nPulling plugins from %s to %s' % (offset, offset + 10000) results = sc.get('plugin', params={ 'fields': 'pluginPubDate,modifiedTime', 'size': 1000, 'startOffset': offset, 'endOffset': offset + 10000, }).json()['response'] for item in results: stdout.write('\rProcessing Plugin %s of %s' % (results.index(item) + 1, len(results))) stdout.flush() try: d = date.fromtimestamp(int(item['pluginPubDate'])) m = date.fromtimestamp(int(item['modifiedTime'])) except: pass else: if d > start_boundry and d < end_boundry: if d not in data: data[d] = 0 data[d] += 1 offset += 10000 chart = DateLine( style=BlueStyle, show_dots=False, fill=True, ) chart.add('Plugins', sorted([(x, data[x]) for x in data], key=lambda tup: tup[0])) chart.render_in_browser()
offset = 0 done = False while len(results) > 0 or done: results = sc.get('plugin', params={ 'fields': 'pluginPubDate,modifiedTime', 'size': 1000, 'startOffset': offset, 'endOffset': offset + 10000, }).json()['response'] for item in results: try: d = date.fromtimestamp(int(item['pluginPubDate'])) m = date.fromtimestamp(int(item['modifiedTime'])) except: pass else: if d > start_boundry and d < end_boundry: if d not in data: data[d] = 0 data[d] += 1 offset += 10000 chart = DateLine( style=BlueStyle, show_dots=False, fill=True, ) chart.add('Plugins', sorted([(x, data[x]) for x in data], key=lambda tup: tup[0])) chart.render_in_browser()