Beispiel #1
0
 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()
Beispiel #2
0
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']
Beispiel #3
0
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']
Beispiel #4
0
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']
Beispiel #5
0
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']
Beispiel #6
0
 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()
Beispiel #7
0
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']
Beispiel #8
0
def test_date():
    """Test a simple dateline"""
    from pygal import DateLine
    from datetime import date, timedelta
    import random
    style=pygal.style.Style(label_font_size=15, major_label_font_size=20)
    date_chart = DateLine(style=style, truncate_label=1000, x_label_rotation=80)
    d = tuple(map(lambda t: ( date(2017,1,1)+timedelta(days=t),
                              random.randint(t,t+100)),
                  range(3000)))
    date_chart.add('dates', d, show_dots=False)
    date_chart.render_to_png('test.png', width=1024, height=768)
Beispiel #9
0
 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()
Beispiel #10
0
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'
                    ]
Beispiel #11
0
 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()
Beispiel #12
0
 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()
Beispiel #13
0
 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()
Beispiel #14
0
    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()
    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()
Beispiel #16
0
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()