cut SN at start

This commit is contained in:
Hendrik Schutter 2023-01-19 19:54:34 +01:00
parent 58c5c98265
commit 5bf2ab8b2e
2 changed files with 18 additions and 13 deletions

View File

@ -79,23 +79,28 @@ def human_readable_capacity_1000(size, decimal_places=0):
def human_readable_power_on_hours(hours, decimal_places=2): def human_readable_power_on_hours(hours, decimal_places=2):
return str(hours) + "h or " + str(int(hours/24)) + "d or " + str("{:.2f}".format(float(hours/24/365))) + "y" return str(hours) + "h or " + str(int(hours/24)) + "d or " + str("{:.2f}".format(float(hours/24/365))) + "y"
def cut_string(max_lenght, data): def cut_string(max_lenght, data, direction):
if (len(data) > max_lenght): if (len(data) > max_lenght):
return data[0:(max_lenght-4)] + " ..." if (direction == "end"):
return data[0:(max_lenght-4)] + " ..."
elif (direction == "start"):
return "... " + data[(len(data)-max_lenght+4):]
else:
return cut_string(max_lenght, data, "end")
else: else:
return data return data
def format_to_printable(drive): def format_to_printable(drive):
return DriveDataPrintable( return DriveDataPrintable(
cut_string(20, re.sub(r"[^a-zA-Z0-9. ]", "", drive.modelfamiliy)),\ cut_string(20, re.sub(r"[^a-zA-Z0-9. ]", "", drive.modelfamiliy), "end"),\
cut_string(20, re.sub(r"[^a-zA-Z0-9. ]", "", drive.modelname)),\ cut_string(20, re.sub(r"[^a-zA-Z0-9. ]", "", drive.modelname), "end"),\
cut_string(20, human_readable_capacity_1000(drive.capacity)),\ cut_string(20, human_readable_capacity_1000(drive.capacity), "end"),\
cut_string(16, re.sub(r"[^a-zA-Z0-9.-_]", "", drive.serialnumber)),\ cut_string(16, re.sub(r"[^a-zA-Z0-9.-_]", "", drive.serialnumber), "start"),\
cut_string(30, human_readable_power_on_hours(drive.power_on_hours)),\ cut_string(30, human_readable_power_on_hours(drive.power_on_hours), "end"),\
cut_string(10, str(drive.power_cycle)),\ cut_string(10, str(drive.power_cycle), "end"),\
cut_string(10, str(drive.smart_error_count)),\ cut_string(10, str(drive.smart_error_count), "end"),\
cut_string(30, datetime.datetime.utcfromtimestamp(drive.shred_timestamp).strftime('%Y-%m-%d %H:%M:%S')),\ cut_string(30, datetime.datetime.utcfromtimestamp(drive.shred_timestamp).strftime('%Y-%m-%d %H:%M:%S'), "end"),\
cut_string(30, str(datetime.timedelta(seconds = drive.shred_duration)))) cut_string(30, str(datetime.timedelta(seconds = drive.shred_duration)), "end"))
def draw_text(drawable, printable_data, text_x_offset): def draw_text(drawable, printable_data, text_x_offset):
try: try:
@ -171,7 +176,7 @@ def generate_image(drive, rehdd_info, output_file):
print("unable to format data: " + str(ex)) print("unable to format data: " + str(ex))
return return
#print(printable_data) #print(printable_data.serialnumber)
#create black and white (binary) image with white background #create black and white (binary) image with white background
output_image = Image.new('1', (output_width, output_height), "white") output_image = Image.new('1', (output_width, output_height), "white")
@ -196,7 +201,7 @@ def main():
modelfamiliy="Toshiba 2.5\\ HDD MK..65GSSX",\ modelfamiliy="Toshiba 2.5\\ HDD MK..65GSSX",\
modelname="TOSHIBA MK3265GSDX",\ modelname="TOSHIBA MK3265GSDX",\
capacity=343597383680,\ capacity=343597383680,\
serialnumber="YG6742U56UDRL123",\ serialnumber="YG6742U56UDRL123456789ABCDEFGJKL",\
power_on_hours=7074,\ power_on_hours=7074,\
power_cycle=4792,\ power_cycle=4792,\
smart_error_count=1,\ smart_error_count=1,\

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB