@@ -28,10 +28,7 @@ def from_string(cls, value: str) -> Self:
2828 Self: The mimetype
2929 """
3030 value_mime = value [:- 5 ] if value .endswith ("+lazy" ) else value # ViamImage lazy encodes by default
31- try :
32- return cls (value_mime )
33- except ValueError :
34- raise ValueError (f"Invalid mimetype: { value } " )
31+ return cls (value_mime )
3532
3633 @classmethod
3734 def from_proto (cls , format : Format .ValueType ) -> "CameraMimeType" :
@@ -73,11 +70,11 @@ class ViamImage:
7370 """
7471
7572 _data : bytes
76- _mime_type : str
73+ _mime_type : CameraMimeType
7774 _height : Optional [int ] = None
7875 _width : Optional [int ] = None
7976
80- def __init__ (self , data : bytes , mime_type : str ) -> None :
77+ def __init__ (self , data : bytes , mime_type : CameraMimeType ) -> None :
8178 self ._data = data
8279 self ._mime_type = mime_type
8380 self ._width , self ._height = _getDimensions (data , mime_type )
@@ -88,7 +85,7 @@ def data(self) -> bytes:
8885 return self ._data
8986
9087 @property
91- def mime_type (self ) -> str :
88+ def mime_type (self ) -> CameraMimeType :
9289 """The mime type of the image"""
9390 return self ._mime_type
9491
@@ -131,12 +128,12 @@ class NamedImage(ViamImage):
131128 """The name of the image
132129 """
133130
134- def __init__ (self , name : str , data : bytes , mime_type : str ) -> None :
131+ def __init__ (self , name : str , data : bytes , mime_type : CameraMimeType ) -> None :
135132 self .name = name
136133 super ().__init__ (data , mime_type )
137134
138135
139- def _getDimensions (image : bytes , mime_type : str ) -> Tuple [Optional [int ], Optional [int ]]:
136+ def _getDimensions (image : bytes , mime_type : CameraMimeType ) -> Tuple [Optional [int ], Optional [int ]]:
140137 try :
141138 if mime_type == CameraMimeType .JPEG :
142139 return _getDimensionsFromJPEG (image )
0 commit comments