U
    1èÝcý  ã                   @   sX   d dl Z ddlmZmZ dd„ ZG dd„ dejƒZe ejee¡ e ejdd	g¡ dS )
é    Né   )ÚImageÚ	ImageFilec                 C   s   | d d… dkS )Né   s   SIMPLE© )Úprefixr   r   ú2lib/python3.8/site-packages/PIL/FitsImagePlugin.pyÚ_accept   s    r	   c                   @   s   e Zd ZdZdZdd„ ZdS )ÚFitsImageFileZFITSc           	      C   sr  i }| j  d¡}|s d}t|ƒ‚|d d…  ¡ }|dkr:qŽ|dd …  ¡ }| d¡rd|dd …  ¡ }|s„t|ƒrx|dkr„d}t|ƒ‚|||< qt|d	 ƒ}|d
kr°d}t|ƒ‚n6|dkrÌdt|d ƒf| _	nt|d ƒt|d ƒf| _	t|d ƒ}|dkrd| _
n4|dkrd| _
n"|dkr(d| _
n|dkr8d| _
t | j  ¡ d ¡d }dd| j || j
d
dffg| _d S )NéP   zTruncated FITS fileé   s   ENDó   =r   ó   TzNot a FITS files   NAXISr   zNo image datas   NAXIS1s   NAXIS2s   BITPIXÚLé   ÚIé    )iàÿÿÿiÀÿÿÿÚFi@  Úraw)r   r   éÿÿÿÿ)ÚfpÚreadÚOSErrorÚstripÚ
startswithr	   ÚSyntaxErrorÚintÚ
ValueErrorZ_sizeÚmodeÚmathZceilÚtellÚsizeZtile)	ÚselfZheadersÚheaderÚmsgÚkeywordÚvalueZnaxisZnumber_of_bitsÚoffsetr   r   r   Ú_open   sB    






zFitsImageFile._openN)Ú__name__Ú
__module__Ú__qualname__ÚformatZformat_descriptionr(   r   r   r   r   r
      s   r
   z.fitz.fits)	r   Ú r   r   r	   r
   Zregister_openr,   Zregister_extensionsr   r   r   r   Ú<module>   s
   3