o
    vf                     @   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    
		