U
    bh                     @  s@   d Z ddlmZ ddlZddlZddlmZ eddfddZdS )zDiv. Utilities.    )annotationsN   )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	| 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)mkstempNz EMERGENCY DUMP STATE TO FILE -> z <-)filew)protocolzCannot pickle state: z. Fallback to pformat.)pprintr   tempfiler   sysstderrpickledumposcloseprintflush	Exceptionwriter   )state	open_filer   r   r   r   r   fdZpersistfhexc r   3/tmp/pip-unpacked-wheel-earovzxb/kombu/utils/div.pyemergency_dump_state   s0    



(
r   )	__doc__
__future__r   r   r   encodingr   openr   r   r   r   r   <module>   s
   