
    Z'iD                     Z    d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm	Z	  G d de      Z
y)    N)mkdtemp)BookMobi)BookFile)Mimetypec                   *    e Zd Zd Zd Zd Zd Zd Zy)
Mobipocketc                 d   t        j                  | ||t        j                         t	        |      }|d   | _        | j                  |d          | j                  |d          | j                  |d   j                  d             |d   r|d   D ]  }| j                  |        |d   | _        y )N
encryptiontitleauthormodificationDatez%Y-%m-%dsubjectdescription)r   __init__r   MOBIr   _encryption_method__set_title____add_author____set_docdate__strftime__add_tag__r   )selffileoriginal_filenamebmtags        $/opt/sopds/book_tools/format/mobi.pyr   zMobipocket.__init__
   s    $&7Gd^"$\"22g;'BxL)R 23<<ZHIi=)} &  %&m,    c                      y N )r   kindvalue	tracebacks       r   __exit__zMobipocket.__exit__   s    r   c                 @    | j                   dk7  rd| j                   iS i S )Nzno encryptionmethod)r   )r   s    r   get_encryption_infozMobipocket.get_encryption_info   s'    6:6M6MQ`6`$112hfhhr   c                 p   t        |      }t        | j                        j                  |dz          	 t        j
                  j                  |dz         r0t        j                  |dz   |       	 t        j                  |       y	 t        j                  |       y# t        j                  |       w xY w)N)dirz	/bookmobiz/bookmobi_cover.jpg)zbookmobi_cover.jpgF)NF)
r   r   r   
unpackMobiospathisfileshutilcopyrmtree)r   working_dirtmp_dirs      r   extract_cover_internalz!Mobipocket.extract_cover_internal   s    k*&&w'<=	#ww~~g(==>G&;;[I4 MM'" %MM'"FMM'"s   ;B B5c                     	 t        | j                        j                         }|S # t        $ r}t	        |       d }Y d }~|S d }~ww xY wr    )r   r   unpackMobiCover	Exceptionprint)r   imageerrs      r   extract_cover_memoryzMobipocket.extract_cover_memory(   sH    	TYY'779E
 	  	#JE		s   #' 	AAAN)__name__
__module____qualname__r   r%   r(   r4   r;   r!   r   r   r   r   	   s    
-i
#r   r   )r,   r/   tempfiler   book_tools.pymobi.mobir   book_tools.format.bookfiler   book_tools.format.mimetyper   r   r!   r   r   <module>rC      s       + / /& &r   