fix: cannot decode utf-8 issue

This commit is contained in:
2024-09-11 15:17:00 +08:00
parent b865d9d78d
commit 80da400891
3 changed files with 12 additions and 7 deletions

View File

@@ -61,7 +61,8 @@ def get_ext(filepath: Path) -> str:
elif filepath.name.endswith(".map.gz"): elif filepath.name.endswith(".map.gz"):
return ".map.gz" return ".map.gz"
else: else:
return filepath.suffix suffix = filepath.suffix
return "" if len(suffix) > 5 else suffix
def get_filename(filepath: Path): def get_filename(filepath: Path):
@@ -310,6 +311,7 @@ def parse_volumetric_data(data_file: str, series_id="", progress_callback=None):
def get_meta(key): def get_meta(key):
try: try:
stirng = reader.GetMetaData(0, key).removesuffix(" ") stirng = reader.GetMetaData(0, key).removesuffix(" ")
stirng.encode('utf-8')
if stirng in ["No study description", if stirng in ["No study description",
"No series description", "No series description",
""]: ""]:

View File

@@ -391,6 +391,7 @@ class ParseVolumetricData(bpy.types.Operator):
def get_meta(key): def get_meta(key):
try: try:
stirng = single.GetMetaData(key).removesuffix(" ") stirng = single.GetMetaData(key).removesuffix(" ")
stirng.encode('utf-8')
if stirng in ["No study description", if stirng in ["No study description",
"No series description", "No series description",
""]: ""]:
@@ -416,13 +417,15 @@ class ParseVolumetricData(bpy.types.Operator):
if series_id == "": if series_id == "":
series_id = "empty" series_id = "empty"
series_items[series_id] = "{:<20} {:>1}".format(f"{study_description}>{series_description}({series_modality})", label = "{:<20} {:>1}".format(f"{study_description}>{series_description}({series_modality})",
f"({size_x}x{size_y})x{count}") f"({size_x}x{size_y})x{count}")
for key, value in series_items.items(): series_items[series_id] = label
for series_id, label in series_items.items():
series_item = self.series_ids.add() series_item = self.series_ids.add()
series_item.id = key series_item.id = series_id
series_item.label = value series_item.label = label
if len(series_items.keys()) > 1: if len(series_items.keys()) > 1:
self.skip_series_select = False self.skip_series_select = False