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 BUFR image handler. :param handler: Handler object. N_handler)handlers ]/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/PIL/BufrStubImagePlugin.pyregister_handlerr s Hc$|jdS)N)sBUFRsZCZC) startswith)prefixs r _acceptr#s   / 00rc$eZdZdZdZddZddZy)BufrStubImageFileBUFRct|jjds d}t||jj dt j d|_d|_|j}|r|j|yy)NzNot a BUFR fileF)rr) rfpread SyntaxErrorseekosSEEK_CUR_mode_size_loadopen)selfmsgloaders r _openzBufrStubImageFile._open+sktww||A'#Cc" "  R%    KK  rctS)Nr )r$s r r"zBufrStubImageFile._load:srN)returnNone)r)ImageFile.StubHandler | None)__name__ __module__ __qualname__formatformat_descriptionr'r"rr rr's F rrcxtttds d}t|tj|||y)NsavezBUFR save handler not installed)r hasattrOSErrorr3)imrfilenamer%s r _saver8>s0wx8/cl MM"b(#rz.bufr)r r+r)r*)rbytesr)bool)r6z Image.Imagerz IO[bytes]r7z str | bytesr)r*) __future__rrtypingrrrr r r StubImageFilerr8 register_openr/ register_saveregister_extensionr1rr rBs#  1 //.$%,,.?I%,,e4*117;r