def test_format_floats(): assert format_size(1.0) == '1 B' assert format_size(10.0) == '10 B' assert format_size(512.0) == '512 B' assert format_size(1023.0) == '1023 B' assert format_size(1024.0) == '1 KB' assert format_size(1024.0**2) == '1 MB' assert format_size(1024.0**3) == '1 GB'
def test_format_ints(): assert format_size(1) == '1 B' assert format_size(10) == '10 B' assert format_size(512) == '512 B' assert format_size(1023) == '1023 B' assert format_size(1024) == '1 KB' assert format_size(1024**2) == '1 MB' assert format_size(1024**3) == '1 GB'
def update(self, state): if state.board_info: self.board_label.set_text('{} ({})'.format(state.board_info, state.board_revision)) else: self.board_label.set_text(state.board_revision) self.serial_label.set_text(state.board_serial) self.os_label.set_text('{} {}'.format(state.os_name, state.os_version)) if not state.stats: self.disk_bar.update(()) self.swap_bar.update(()) self.memory_bar.update(()) self.queue_bar.update({}) self.builds_bar.update({}) self.downloads_bar.update(()) self.load_bar.update(()) self.temperature_bar.update(()) self.builds_size_label.set_text('-') self.builds_time_label.set_text('-') self.files_count_label.set_text('-') else: latest = state.stats[-1] self.disk_bar.maximum = latest.disk_size self.swap_bar.maximum = latest.swap_size self.memory_bar.maximum = latest.mem_size self.disk_bar.update(invert(state.stats, 'disk_free', 'disk_size')) self.swap_bar.update(invert(state.stats, 'swap_free', 'swap_size')) self.memory_bar.update(invert(state.stats, 'mem_free', 'mem_size')) self.queue_bar.update(state.stats[-1].builds_pending) self.builds_bar.update(state.stats[-1].builds_last_hour) self.downloads_bar.update( extract(state.stats, 'downloads_last_hour')) self.load_bar.update(extract(state.stats, 'load_average')) self.temperature_bar.update(extract(state.stats, 'cpu_temp')) self.builds_size_label.set_text(format_size(latest.builds_size)) self.builds_time_label.set_text( format_timedelta(latest.builds_time)) self.files_count_label.set_text('{:,}'.format(latest.files_count))
def __init__(self): self.board_label = wdg.Text('-') self.serial_label = wdg.Text('-') self.os_label = wdg.Text('-') self.load_bar = wdg.GraphBar(minimum=0.0, maximum=4.0, format=' {max:.1f}') self.temperature_bar = wdg.GraphBar(minimum=40, maximum=80, format=' {min}-{max}°C') self.disk_bar = wdg.GraphBar( minimum=0, format=lambda min, max: ' ' + format_size(max)) self.swap_bar = wdg.GraphBar( minimum=0, format=lambda min, max: ' ' + format_size(max)) self.memory_bar = wdg.GraphBar( minimum=0, format=lambda min, max: ' ' + format_size(max)) self.builds_bar = wdg.RatioBar() self.queue_bar = wdg.RatioBar() self.downloads_bar = wdg.GraphBar(format=' {max}') self.builds_size_label = wdg.Text('-') self.builds_time_label = wdg.Text('-') self.files_count_label = wdg.Text('-') super().__init__( wdg.AttrMap( wdg.LineBox( wdg.Columns([ (12, wdg.Pile([ wdg.Text('Board'), wdg.Text('Serial #'), wdg.Text('OS'), wdg.Text('Build Size'), wdg.Text('Build Time'), wdg.Text('File Count'), wdg.Text('Queue'), ])), wdg.Pile([ self.board_label, self.serial_label, self.os_label, self.builds_size_label, self.builds_time_label, self.files_count_label, self.queue_bar, ]), (12, wdg.Pile([ wdg.Text('Builds/hr'), wdg.Text('Downloads/hr'), wdg.Text('Temperature'), wdg.Text('Load Avg'), wdg.Text('Disk'), wdg.Text('Swap'), wdg.Text('Memory'), ])), wdg.Pile([ self.builds_bar, self.downloads_bar, self.temperature_bar, self.load_bar, self.disk_bar, self.swap_bar, self.memory_bar, ]), ], dividechars=1), ), 'dialog', ))
def __init__(self): self.board_label = wdg.Text('-') self.serial_label = wdg.Text('-') self.python_label = wdg.Text('-') self.os_label = wdg.Text('-') self.clock_label = wdg.Text('-') self.load_bar = wdg.GraphBar(minimum=0.0, maximum=4.0, delta=timedelta(seconds=15), format=' {max:.1f}') self.temperature_bar = wdg.GraphBar(minimum=40, maximum=80, delta=timedelta(seconds=15), format=' {min}-{max}°C') self.disk_bar = wdg.GraphBar( format=lambda min, max: ' ' + format_size(max), minimum=0, delta=timedelta(seconds=15)) self.swap_bar = wdg.GraphBar( format=lambda min, max: ' ' + format_size(max), minimum=0, delta=timedelta(seconds=15)) self.memory_bar = wdg.GraphBar( format=lambda min, max: ' ' + format_size(max), minimum=0, delta=timedelta(seconds=15)) super().__init__( wdg.AttrMap( wdg.LineBox( wdg.Columns([ (11, wdg.Pile([ wdg.Text('Board'), wdg.Text('Serial #'), wdg.Text('OS'), wdg.Text('Python'), wdg.Text('Clock Delta'), ])), wdg.Pile([ self.board_label, self.serial_label, self.os_label, self.python_label, self.clock_label, ]), (11, wdg.Pile([ wdg.Text('Temperature'), wdg.Text('Load Avg'), wdg.Text('Disk'), wdg.Text('Swap'), wdg.Text('Memory'), ])), wdg.Pile([ self.temperature_bar, self.load_bar, self.disk_bar, self.swap_bar, self.memory_bar, ]), ], dividechars=1)), 'dialog'))
def test_format_templates(): assert format_size(1, template='{size:.0f}{suffix}') == '1B' assert format_size(1024, template='{size}{suffix}') == '1.0KB' assert format_size(1536, template='{size:.1f} {suffix}') == '1.5 KB'
def test_format_zero(): assert format_size(0) == '0 B' assert format_size(0, zero='-') == '-' assert format_size(0.0, zero='-') == '-'