U
    9¡_í  ã                   @   s4   d dl mZ ddlT d dlmZ G dd„ deƒZdS )é    )ÚGtké   )Ú*)Úreducec                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚErrorLogParsec                 C   sp   t  | |d¡ |  tdƒtdƒ¡}t ¡ }t ¡ }| d¡ | |¡ | 	|ddd¡ | 
¡ | _| || ¡ d S )NzError log parsezError log messagesz$There are messages in the error log.FTr   )ÚQuestionÚ__init__Zinitial_vboxÚ_r   ZScrolledWindowZTextViewZset_editableÚaddZ
pack_startZ
get_bufferÚbufferZnew_page)ÚselfÚtroubleshooterZpageÚswZtextview© r   ú>/usr/share/system-config-printer/troubleshoot/ErrorLogParse.pyr      s    
ÿ


zErrorLogParse.__init__c                 C   s¦   | j j}z| d¡}| d¡}W n tk
r6   Y dS X d}|r^|D ]}|d dkrD|} q^qD|r„|s„|D ]}|d dkrj|} q„qj|rž| j tdd„ |ƒ¡ |dkS )NÚjournalÚ	error_logFr   ÚEc                 S   s   | d | S )NÚ
r   )ÚxÚyr   r   r   Ú<lambda>@   ó    z'ErrorLogParse.display.<locals>.<lambda>)r   ÚanswersÚgetÚKeyErrorr   Zset_textr   )r   r   r   r   ÚdisplayÚliner   r   r   r   *   s,    
ÿzErrorLogParse.displayN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r      s   r   N)Zgi.repositoryr   ÚbaseÚ	functoolsr   r   r   r   r   r   r   Ú<module>   s   