Skip to content

Commit c42c41c

Browse files
committed
Catch additional errors during file reading
1 parent 504cdd2 commit c42c41c

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/dicomweb_client/file.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,12 @@
2828
import numpy as np
2929
from PIL import Image
3030
from PIL.ImageCms import ImageCmsProfile, createProfile
31+
from pydicom import config as pydicom_config
32+
from pydicom.datadict import dictionary_VR, keyword_for_tag, tag_for_keyword
3133
from pydicom.dataset import Dataset, FileMetaDataset
3234
from pydicom.encaps import encapsulate, get_frame_offsets
3335
from pydicom.errors import InvalidDicomError
3436
from pydicom.filebase import DicomFileLike
35-
from pydicom.datadict import dictionary_VR, keyword_for_tag, tag_for_keyword
3637
from pydicom.filereader import (
3738
data_element_offset_to_value,
3839
dcmread,
@@ -1004,7 +1005,7 @@ def is_stop_tag(tag: BaseTag, VR: Optional[str], length: int) -> bool:
10041005
stop_when=is_stop_tag,
10051006
specific_tags=tags
10061007
)
1007-
except (InvalidDicomError, AttributeError):
1008+
except (InvalidDicomError, AttributeError, ValueError):
10081009
logger.debug(f'failed to read file "{file_path}"')
10091010
continue
10101011

@@ -1027,7 +1028,7 @@ def is_stop_tag(tag: BaseTag, VR: Optional[str], length: int) -> bool:
10271028
)
10281029
sop_instance_uid = ds.SOPInstanceUID
10291030
instances[sop_instance_uid] = tuple(instance_metadata)
1030-
except AttributeError as error:
1031+
except (AttributeError, ValueError) as error:
10311032
logger.warning(f'failed to parse file "{file_path}": {error}')
10321033
continue
10331034

0 commit comments

Comments
 (0)