o
    åvŽf•  ã                   @   sv   d dl Z d dlZd dlZd dlmZ d dlmZ e e d dlZdd„ Z	ddd„Z
d	d
„ Zdd„ Zdd„ Zdd„ ZdS )é    N)ÚReport)Úimplc                 C   s"   t   | ¡}t|tƒr| d¡S |S )NzUTF-8)ÚgettextÚ
isinstanceÚbytesÚdecode)ÚstrÚtrans© r
   ú1/usr/lib/python3/dist-packages/apport/__init__.pyÚunicode_gettext   s   


r   Fc                 C   s&   |rt j dt d¡ ¡ t| ƒ dS )z>Log the given string to stdout. Prepend timestamp if requestedz%s: z%x %XN)ÚsysÚstdoutÚwriteÚtimeÚstrftimeÚprint)ÚmessageÚ	timestampr
   r
   r   Úlog   s   r   c                 G   s   t | g|¢R Ž  t d¡ dS )z0Print out an error message and exit the program.é   N)Úerrorr   Úexit©ÚmsgÚargsr
   r
   r   Úfatal    s   r   c                 G   ó6   t jrt j d¡ t j | | ¡ t j d¡ dS dS )zPrint out an error message.zERROR: Ú
N©r   Ústderrr   r   r
   r
   r   r   '   ó
   ýr   c                 G   r   )zPrint out an warning message.z	WARNING: r   Nr   r   r
   r
   r   Úwarning0   r!   r"   c                 C   s¢   dt jvstjs
dS i }tdƒ�%}|D ]}| d¡r-| ¡ \}}}t|ƒd ||dd… < qW d  ƒ n1 s8w   Y  tj d|d |d	 |d
 | f ¡ dS )zSPrint current memory usage.

    This is only done if $APPORT_MEMDEBUG is set.
    ÚAPPORT_MEMDEBUGNz/proc/self/statusÚVmg      �@éÿÿÿÿz/Size: %.1f MB, RSS: %.1f MB, Stk: %.1f MB @ %s
ÚVmSizeÚVmRSSÚVmStk)	ÚosÚenvironr   r    ÚopenÚ
startswithÚsplitÚintr   )Ú
checkpointÚmemstatÚfÚlineÚfieldÚsizeÚunitr
   r
   r   Úmemdbg9   s   

€ýÿ
ÿr6   )F)r   r)   r   Úapport.reportr   Úapport.packaging_implr   Ú	packagingr   r   r   r   r   r"   r6   r
   r
   r
   r   Ú<module>   s    
		