Shrink label size to allow support for nvme drives #19

Merged
localhorst merged 4 commits from feature/nvme-label into main 2025-06-22 13:34:16 +02:00
2 changed files with 10 additions and 11 deletions
Showing only changes of commit 6ec782609c - Show all commits

View File

@ -21,15 +21,14 @@ FONT_PATH = "/usr/share/fonts"
DEFAULT_FONT_REGULAR = "DejaVuSans.ttf" DEFAULT_FONT_REGULAR = "DejaVuSans.ttf"
DEFAULT_FONT_BOLD = "DejaVuSans-Bold.ttf" DEFAULT_FONT_BOLD = "DejaVuSans-Bold.ttf"
OUTPUT_WIDTH = 696 # px OUTPUT_WIDTH = 696 # px
OUTPUT_HEIGHT = 212 # px OUTPUT_HEIGHT = 190 # px
TEXT_X_OFFSET = 212 # px TEXT_X_OFFSET = 190 # px
QR_CODE_SIZE = 200 # px QR_CODE_SIZE = 179 # px
# Configure logging # Configure logging
logging.basicConfig( logging.basicConfig(
level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s" level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s"
) )
@dataclasses.dataclass @dataclasses.dataclass
class DriveData: class DriveData:
drive_index: int drive_index: int
@ -143,9 +142,9 @@ def draw_text(drawable, printable_data, font_regular, font_bold, font_bold_bigge
label_x = TEXT_X_OFFSET label_x = TEXT_X_OFFSET
value_offset = 115 value_offset = 115
right_field_spacing = 200 # Horizontal gap between Cycles and Errors right_field_spacing = 200 # Horizontal gap between Cycles and Errors
x_capacity = 480 x_capacity = 510
y_capacity = 161 y_capacity = 142
y_start = 10 y_start = 4
# Serial Number # Serial Number
drawable.text((label_x, y_start), "Serial:", fill=0, font=font_bold) drawable.text((label_x, y_start), "Serial:", fill=0, font=font_bold)
@ -298,11 +297,11 @@ def generate_image(drive, rehdd_info, output_file):
output_image = Image.new("1", (OUTPUT_WIDTH, OUTPUT_HEIGHT), "white") output_image = Image.new("1", (OUTPUT_WIDTH, OUTPUT_HEIGHT), "white")
draw = ImageDraw.Draw(output_image) draw = ImageDraw.Draw(output_image)
font_regular = ImageFont.truetype(find_font_path(DEFAULT_FONT_REGULAR), 20) font_regular = ImageFont.truetype(find_font_path(DEFAULT_FONT_REGULAR), 18)
font_bold = ImageFont.truetype(find_font_path(DEFAULT_FONT_BOLD), 20) font_bold = ImageFont.truetype(find_font_path(DEFAULT_FONT_BOLD), 18)
font_bold_bigger = ImageFont.truetype(find_font_path(DEFAULT_FONT_BOLD), 45) font_bold_bigger = ImageFont.truetype(find_font_path(DEFAULT_FONT_BOLD), 42)
draw_outline(draw, 1, 4, OUTPUT_WIDTH, OUTPUT_HEIGHT) draw_outline(draw, 0, 3, OUTPUT_WIDTH+1, OUTPUT_HEIGHT+1)
draw_text(draw, printable_data, font_regular, font_bold, font_bold_bigger) draw_text(draw, printable_data, font_regular, font_bold, font_bold_bigger)
draw_qr_code(output_image, qr_data) draw_qr_code(output_image, qr_data)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB