U
    dh                     @   s,   d Z ddlZddlmZ eddfddZdS )zDiv. Utilities.    N   )default_encodec           
   
   C   s   ddl m} ddlm} |dkr&tjn|}|dkr@ddl}|j}| }td| d|d ||d}z`z|| |dd	 W nH tk
r }	 z*td
|	d|d |t||  W 5 d}	~	X Y nX W 5 |	  |
  X |S )z%Dump message state to stdout or file.r   )pformat)mktempNz EMERGENCY DUMP STATE TO FILE -> z <-)filew)protocolzCannot pickle state: z. Fallback to pformat.)pprintr   tempfiler   sysstderrpickledumpprintflushclose	Exceptionwriter   )
state	open_filer   r   r   r   r   Zpersistfhexc r   3/tmp/pip-unpacked-wheel-hqfrjlvz/kombu/utils/div.pyemergency_dump_state   s.    

(
r   )__doc__r   encodingr   openr   r   r   r   r   <module>   s   