U
    9¡_ª  ã                   @   s0   d dl Z d dlmZ ddlT G dd„ deƒZdS )é    N)ÚGtké   )Ú*c                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚLocalec                 C   s  t  | |d¡ |  tdƒtdƒ¡}t ¡ }| d¡ | d¡ | |ddd¡ t 	¡ | _
| j
 dd¡ t 	¡ | _| j dd¡ tj	tdƒd}| dd¡ | |ddd	d	¡ | | jd	dd	d	¡ tj	td
ƒd}| dd¡ | |dd	d	d	¡ | | j
d	d	d	d	¡ | || ¡ d S )NzLocale issueszIncorrect Page Sizez…The page size for the print job was not the printer's default page size.  If this is not intentional it may cause alignment problems.é   Fr   zPrint job page size:)Úlabelr   zPrinter page size:)ÚQuestionÚ__init__Zinitial_vboxÚ_r   ZGridZset_row_spacingZset_column_spacingZ
pack_startZLabelÚprinter_page_sizeZset_alignmentÚjob_page_sizeZattachZnew_page)ÚselfÚtroubleshooterZpageZgridr   © r   ú7/usr/share/system-config-printer/troubleshoot/Locale.pyr	      s*    
ÿ



zLocale.__init__c                 C   sB  i | _ t tj¡\}}t tj¡\}}|| j d< || j d< zºd }d }dD ].}zt|ƒ ¡ }W qH tk
rt   Y qHY qHX qH|d k	rò|D ]F}| d¡r¦|dd …  	d¡}q„|d kr„| d¡r„|dd …  	d¡}q„|d k	rò| 
d	¡}|d
krò|d |… }W n   d }Y nX || j d< d }	z<| jj d }
|
 ¡ D ]"\}}d|kr*|d }	 qNq*W nF tk
r–   z| jj d }|d }	W n tk
r   Y nX Y nX z| jj d }W n tk
rÂ   g }Y nX |	| j d< |	d k	r>d }|D ]\\}}}}}}|ràd|krà|d }|| j d< ||	krà| j |	¡ | j |¡  dS qàdS )NZuser_locale_messagesZuser_locale_ctype)z/etc/locale.confz/etc/sysconfig/i18nz	LC_PAPER=é	   z
"zLANG=é   Ú.éÿÿÿÿZsystem_locale_langZcups_printer_ppd_defaultsZPageSizeZremote_cups_queue_attributeszmedia-defaultZtest_page_job_statusr   r   TF)ÚanswersÚlocaleZ	getlocaleÚLC_MESSAGESÚLC_CTYPEÚopenÚ	readlinesÚIOErrorÚ
startswithÚstripÚfindr   ÚitemsÚKeyErrorr   Zset_textr   )r   ZmessagesÚencodingZctypeZsystem_langÚconfÚconffileÚlineÚdotr   Zppd_defsÚgroupZoptionsZattrsZ
job_statusr   ZtestZjobidZprinterÚdocZstatusr   r   r   Údisplay6   sp    













zLocale.displayc                 C   s   | j S )N)r   )r   r   r   r   Úcollect_answery   s    zLocale.collect_answerN)Ú__name__Ú
__module__Ú__qualname__r	   r(   r)   r   r   r   r   r      s   Cr   )r   Zgi.repositoryr   Úbaser   r   r   r   r   r   Ú<module>   s   