From 9346fcf750ad7612f4f045fe2b4c1f6e639afaef Mon Sep 17 00:00:00 2001 From: Ace Date: Sat, 11 May 2024 23:25:40 +0200 Subject: [PATCH] code quality improvements --- inkycal/__init__.py | 2 +- inkycal/display/display.py | 6 +----- inkycal/display/drivers/epdconfig.py | 3 --- inkycal/modules/inkycal_calendar.py | 6 +++--- tests/test_inkycal_agenda.py | 2 +- tests/test_inkycal_webshot.py | 10 ++++++++-- 6 files changed, 14 insertions(+), 15 deletions(-) diff --git a/inkycal/__init__.py b/inkycal/__init__.py index 0c6a244..6c721f5 100644 --- a/inkycal/__init__.py +++ b/inkycal/__init__.py @@ -14,7 +14,7 @@ import inkycal.modules.inkycal_stocks import inkycal.modules.inkycal_webshot import inkycal.modules.inkycal_xkcd import inkycal.modules.inkycal_fullweather +import inkycal.modules.inkycal_mawaqit # Main file from inkycal.main import Inkycal -import inkycal.modules.inkycal_stocks diff --git a/inkycal/display/display.py b/inkycal/display/display.py index 89fdf4c..179f71f 100644 --- a/inkycal/display/display.py +++ b/inkycal/display/display.py @@ -2,13 +2,11 @@ Inkycal ePaper driving functions Copyright by aceisace """ -import os from importlib import import_module import PIL from PIL import Image -from inkycal.custom import top_level from inkycal.display.supported_models import supported_models @@ -199,9 +197,7 @@ class Display: >>> Display.get_display_names() """ - driver_files = top_level + '/inkycal/display/drivers/' - drivers = [i for i in os.listdir(driver_files) if i.endswith(".py") and not i.startswith("__") and "_" in i] - return drivers + return supported_models.keys() if __name__ == '__main__': diff --git a/inkycal/display/drivers/epdconfig.py b/inkycal/display/drivers/epdconfig.py index 2eaddf4..2a5e819 100644 --- a/inkycal/display/drivers/epdconfig.py +++ b/inkycal/display/drivers/epdconfig.py @@ -28,8 +28,6 @@ THE SOFTWARE. """ import logging -import os -import subprocess import sys import time @@ -128,4 +126,3 @@ implementation = RaspberryPi() for func in [x for x in dir(implementation) if not x.startswith('_')]: setattr(sys.modules[__name__], func, getattr(implementation, func)) - diff --git a/inkycal/modules/inkycal_calendar.py b/inkycal/modules/inkycal_calendar.py index 9c85984..8d0cd50 100755 --- a/inkycal/modules/inkycal_calendar.py +++ b/inkycal/modules/inkycal_calendar.py @@ -109,7 +109,7 @@ class Calendar(inkycal_module): # Allocate space for month-names, weekdays etc. month_name_height = int(im_height * 0.10) text_bbox_height = self.font.getbbox("hg") - weekdays_height = int((text_bbox_height[3] - text_bbox_height[1])* 1.25) + weekdays_height = int((text_bbox_height[3] - text_bbox_height[1]) * 1.25) logger.debug(f"month_name_height: {month_name_height}") logger.debug(f"weekdays_height: {weekdays_height}") @@ -265,7 +265,7 @@ class Calendar(inkycal_module): # find out how many lines can fit at max in the event section line_spacing = 2 text_bbox_height = self.font.getbbox("hg") - line_height = text_bbox_height[3] + line_spacing + line_height = text_bbox_height[3] - text_bbox_height[1] + line_spacing max_event_lines = events_height // (line_height + line_spacing) # generate list of coordinates for each line @@ -326,7 +326,7 @@ class Calendar(inkycal_module): (icon_width, icon_height), radius=6, thickness=1, - shrinkage=(0.4, 0.2), + shrinkage=(0, 0), ) # Filter upcoming events until 4 weeks in the future diff --git a/tests/test_inkycal_agenda.py b/tests/test_inkycal_agenda.py index af002ec..642f654 100755 --- a/tests/test_inkycal_agenda.py +++ b/tests/test_inkycal_agenda.py @@ -28,7 +28,7 @@ tests = [ "padding_x": 10, "padding_y": 10, "fontsize": 12, - "language": "en" + "language": "de" } }, { diff --git a/tests/test_inkycal_webshot.py b/tests/test_inkycal_webshot.py index 7105a12..b86c965 100755 --- a/tests/test_inkycal_webshot.py +++ b/tests/test_inkycal_webshot.py @@ -6,10 +6,15 @@ import logging import unittest from inkycal.modules import Webshot +from inkycal.modules.inky_image import Inkyimage +from tests import Config logger = logging.getLogger(__name__) logging.basicConfig(level=logging.DEBUG) +preview = Inkyimage.preview +merge = Inkyimage.merge + tests = [ { "position": 1, @@ -60,6 +65,7 @@ class TestWebshot(unittest.TestCase): for test in tests: logger.info(f'test {tests.index(test) + 1} generating image..') module = Webshot(test) - module.generate_image() + im_black, im_colour = module.generate_image() + if Config.USE_PREVIEW: + preview(merge(im_black, im_colour)) logger.info('OK') -