o vf@svddlZddlZddlZddlmZddlmZeeddlZddZ dddZ d d Z d d Z d dZ ddZdS)N)Report)implcCs"t|}t|tr|dS|S)NzUTF-8)gettext isinstancebytesdecode)strtransr 1/usr/lib/python3/dist-packages/apport/__init__.pyunicode_gettexts   r FcCs&|r tjdtdt|dS)z>Log the given string to stdout. Prepend timestamp if requestedz%s: z%x %XN)sysstdoutwritetimestrftimeprint)message timestampr r r logs rcGst|g|RtddS)z0Print out an error message and exit the program.N)errorr exitmsgargsr r r fatal srcG6tjrtjdtj||tjddSdS)zPrint out an error message.zERROR:  Nr stderrrrr r r r'  rcGr)zPrint out an warning message.z WARNING: rNrrr r r warning0r!r"cCsdtjvstjs dSi}td%}|D]}|dr-|\}}}t|d||dd<qWdn1s8wYtjd|d|d |d |fdS) zSPrint current memory usage. This is only done if $APPORT_MEMDEBUG is set. APPORT_MEMDEBUGNz/proc/self/statusVmg@z/Size: %.1f MB, RSS: %.1f MB, Stk: %.1f MB @ %s VmSizeVmRSSVmStk) osenvironr r open startswithsplitintr) checkpointmemstatflinefieldsizeunitr r r memdbg9s   r6)F)r r)r apport.reportrapport.packaging_implr packagingrr rrrr"r6r r r r s