K i*ddlmZddlZddlmZddlmZmZdad dZ d dZ Gdd ejZ dd Z eje je e ej e je ej"e jd y)) annotationsN)IO)Image ImageFilec|ay)z_ Install application-specific GRIB image handler. :param handler: Handler object. N_handler)handlers ]/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/PIL/GribStubImagePlugin.pyregister_handlerr s HcXt|dk\xr|jdxr|ddk(S)NsGRIBr)len startswith)prefixs r _acceptr#s. v;!  M 1 1' : MvayA~Mrc$eZdZdZdZddZddZy)GribStubImageFileGRIBct|jjds d}t||jj dt j d|_d|_|j}|r|j|yy)NrzNot a GRIB fileiF)rr) rfpread SyntaxErrorseekosSEEK_CUR_mode_size_loadopen)selfmsgloaders r _openzGribStubImageFile._open+sktww||A'#Cc" "  R%    KK  rctS)Nr )r%s r r#zGribStubImageFile._load:srN)returnNone)r*ImageFile.StubHandler | None)__name__ __module__ __qualname__formatformat_descriptionr(r#rr rr's F rrcxtttds d}t|tj|||y)NsavezGRIB save handler not installed)r hasattrOSErrorr4)imrfilenamer&s r _saver9>s0wx8/cl MM"b(#rz.grib)r r,r*r+)rbytesr*bool)r7z Image.Imagerz IO[bytes]r8z str | bytesr*r+) __future__rrtypingrrrr r r StubImageFilerr9 register_openr0 register_saveregister_extensionr2rr rCs#  N //.$%,,.?I%,,e4*117;r