3
Z                 @   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 j| |d | jtdtd}tj }|jd |jd |j|ddd tj	 | _
| j
jdd tj	 | _| jjdd tj	tdd}|jdd |j|ddd	d	 |j| jd	dd	d	 tj	td
d}|jdd |j|dd	d	d	 |j| j
d	d	d	d	 |j||  d S )NzLocale issueszIncorrect Page SizezThe 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   sJ  i | _ tjtj\}}tjtj\}}|| j d< || j d< yd }d }x4dD ],}yt|j }W qJ tk
rt   wJY qJX qJW |d k	rxN|D ]F}|jdr|dd  j	d}q|d kr|jdr|d	d  j	d}qW |d k	r|j
d
}|dkr|d | }W n   d }Y nX || j d< d }	y<| jj d }
x*|
j D ]\}}d|kr2|d }	P q2W W nF tk
r   y| jj d }|d }	W n tk
r   Y nX Y nX y| jj d }W n tk
r   g }Y nX |	| j d< |	d k	rFd }xb|D ]Z\}}}}}}|rd|kr|d }|| j d< ||	kr| jj|	 | jj| dS qW dS )NZuser_locale_messagesZuser_locale_ctype/etc/locale.conf/etc/sysconfig/i18nz	LC_PAPER=	   z
"zLANG=   .r   Zsystem_locale_langZcups_printer_ppd_defaultsZPageSizeZremote_cups_queue_attributeszmedia-defaultZtest_page_job_statusr   r   TF)r   r   )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   