def test_init_paint_update(): cwd = os.getcwd() fonts.register('tempesta', os.path.join(cwd, 'assets/pf_tempesta_seven.ttf')) fonts.register('pixarrows', os.path.join(cwd, 'assets/pixarrows.ttf')) fonts.register('climacons', os.path.join(cwd, 'assets/climacons.ttf')) fonts.register('helvetica', os.path.join(cwd, 'assets/helvetica.ttf')) broker = ServiceBroker() clock_mock = make_service_mock('ClockServiceMock') clock_mock.return_value.timeofday.return_value = '13:37' weather_mock = make_service_mock('WeatherServiceMock') podcast_mock = make_service_mock('PodcastServiceMock') audio_mock = make_service_mock('AudioServiceMock') audio_mock.return_value.playback_progress.return_value = 0.5 pt_mock = make_service_mock('PublicTransportServiceMock') broker.register_service(clock_mock, 'ClockService') broker.register_service(weather_mock, 'WeatherService') broker.register_service(podcast_mock, 'PodcastService') broker.register_service(audio_mock, 'AudioService') broker.register_service(pt_mock, 'PublicTransportService') surf = graphics.Surface(128, 64) for cls, config in PANELS: pnl = broker.instantiate(cls, config) pnl.paint(surf) pnl.update() monkey_test(pnl)
def __init__(self): cwd = os.getcwd() fonts.register('tempesta', os.path.join(cwd, 'assets/pf_tempesta_seven.ttf')) fonts.register('pixarrows', os.path.join(cwd, 'assets/pixarrows.ttf')) fonts.register('climacons', os.path.join(cwd, 'assets/climacons.ttf')) fonts.register('helvetica', os.path.join(cwd, 'assets/helvetica.ttf')) self.sleeptimer = SleepTimer(CONFIG['sleep_after_minutes'] * 60) self.framebuffer = None self.prev_keystates = None self.font = fonts.get('tempesta', 8) self.panels = [] self.panel_defs = self.read_panels(CONFIG['panels']) self.panel_idx = None self.active_panel = None self.active_panel_fb = None self.backing_stores = {} self.broker = services.ServiceBroker()