
    Kc0                     J   d dl mZ d dl mZ d dlZd dlZd dlZd dlZd dlZedk    rd dl	Z
d dlZ ej        d           ej        d          d          dk    r- e
j                    Zee
j        j        z   ej        d          z   Znej        d          Ze
j                            e          Ze
j                            e          Zej                            e           ddlmZ dd	lT  G d
 d          Zg dZddZedk    rd dlZ	  ej        ej        dd         ddg          \  ZZeD ]\  ZZ edk    r e!d           n# ej"        $ r Y nw xY w ej#                      eej$                    ej%                      ej&                      ej'                     dS dS )    )Gdk)GtkN__main__zsystem-config-printer/   )base)*c                   v    e Zd ZddZd Zd Zd Zd Zd Zd Z	d	 Z
d
 Zd Zd Zd Zd Zd Zd Zd Zd ZdS )TroubleshooterNc                    d| _         t          j                    }|rN|                    |           |                    t          j        j                   |                    d           |                    t          d                     |
                    dd           |
                    dd           |                    d| j                   || _        || _        t          j                    }|                    |           t          j                    }|                    d	           |                    |ddd
           |                    t          j                    ddd
           t          j                    }|                    d	           |                    d           |                    t          j        j                   t          j                            t          j                  }|                    d| j                   |                    d           || _        t          j                            t          j                   }|                    d| j                   || _!        t          j                            t          j"                  }	|	                    d| j                   |	| _#        t          j                            t          j$                  }
|
                    d| j%                   |
| _&        |                    |ddd
           |                    |	ddd
           |                    |ddd
           |                    |
ddd
           |                    |ddd
           |

                    dd           |

                    dd           |'                    d
           |(                    d           || _)        d
| _*        g | _+        g | _,        tZ          j-        .                    t_          j/                              }d|0                    d          i| _1        d| _2        |3                                 d S )NFTzPrinting troubleshooterzdefault-widthi  zdefault-heighti^  delete_event   r      clickedzcan-defaultzhas-defaulterror_log_timestampz%F %T)4_in_module_callr   Windowset_transient_forset_positionWindowPositionCENTER_ON_PARENT	set_modal	set_title_set_propertyconnectquitmainquitfnVBoxaddNotebookset_border_width
pack_start
HSeparator
HButtonBoxset_spacing
set_layoutButtonBoxStyleENDButtonnew_from_stockSTOCK_GO_BACK_on_back_clickedset_sensitivebackSTOCK_CLOSEcloseSTOCK_CANCELcancelSTOCK_GO_FORWARD_on_forward_clickedforwardset_current_pageset_show_tabsntbkcurrent_page	questionsquestion_answersdatetimefromtimestamptimestrftimeanswersmoving_backwardsshow_all)selfr   parentr   vboxr:   boxr0   r2   r4   r7   nows               9/usr/share/system-config-printer/troubleshoot/__init__.py__init__zTroubleshooter.__init__0   s   $z}} 	"""F+++s1BCCCNND!!!344555?C000+S111ndi000	x{{$|q!!!tT1---**E5!<<<na   *.///z((#*;<<i!6777E"""	
))3?;;y$),,,
**C,<==	49---*++S-ABBD$<===eUA...ua000ueQ///q111eUA...]D111]D111q!!!E"""	 "--ty||<<-s||W/E/EF %    c                    | j         rC	 | j        | j                                                  n#  |                                  Y nxY wd S 	 | j        | j                                                  n#  |                                  Y nxY wt          t          | j                            D ]}| j                                         | j	        
                                 | j        r|                     |            d S d S N)r   r<   r;   cancel_operation_report_tracebackdisconnect_signalsrangelenpopr   hider   )rE   argsis      rJ   r   zTroubleshooter.quitr   s    	*t01BBEEEE*&&)))))F	&N4,-@@CCCC	&""%%%%% T^,,-- 	" 	"AN!!!!	; 	KK	 	s   $. A$A1 1B	c                     | j         S rN   )r   rE   s    rJ   
get_windowzTroubleshooter.get_window   s     yrL   c                 r   | j                             |          }t          d|z             | j         d |dz            | _         | j        d |dz            | _        t	          | j                                        dz
  |d          D ]}| j                            |           |                                  d S )NzPage %d: No more questions.r   )	r<   index
debugprintr=   rR   r:   get_n_pagesremove_page_set_back_forward_buttons)rE   questionpageps       rJ   no_more_questionsz Troubleshooter.no_more_questions   s    ~##X..1D8999		2 $ 5itaxi @	--0014dB?? 	& 	&AI!!1%%%%&&)))))rL   c                    t          | j                  }t          d|t          |          fz             | j                            |           | j                            g            | j                            |d |           |                                 |dk    rX	 |	                    | j
                   n#  |                                  Y nxY w| j                            |           || _        | 
                                 |S )NzPage %d: new: %sr   )rS   r<   r^   strappendr=   r:   insert_pagerD   connect_signalsra   rP   r8   r;   )rE   widgetrb   rc   s       rJ   new_pagezTroubleshooter.new_page   s   DN##&$X)??@@@x((($$b)))	vtT222199*(($*HIIII*&&)))))I&&--- $D&&)))s   !B< <Cc                     | j         S rN   )rC   rY   s    rJ   is_moving_backwardsz"Troubleshooter.is_moving_backwards   s    $$rL   c                    d}d}t          | j                  D ]}| j        |                                         }d |                                D             D ]}||= t          t          |                                                    dk    rx|d|| j        |         fz  dz   z  }|t          j	        |          dz   z  }|dz  }|
                                dz   S )N r   c                 <    g | ]}|                     d           |S )r   )
startswith).0xs     rJ   
<listcomp>z2Troubleshooter.answers_as_text.<locals>.<listcomp>   s)    KKKc8J8JK1KKKrL   r   zPage %d (%s):
)rR   r;   r=   copykeysrS   listr<   pprintpformatrstrip)rE   textnrW   rB   hiddens         rJ   answers_as_textzTroubleshooter.answers_as_text   s    )** 	 	A+A.3366GKKgllnnKKK $ $FOOD))**a//Oq$.*;&<<tCCDFNG,,t33DFAA{{~~$$rL   c                    d| _         | j                            d           | j                            d           |                                                                 }|r||                    t          j                            t          j	        j
                             t          j                    r*t          j                     t          j                    &d S d S d S )NTF)r   r7   r/   r0   rZ   
set_cursorr   Cursornew
CursorTypeWATCHr   events_pendingmain_iterationrE   gdkwins     rJ   busyzTroubleshooter.busy   s    #""E***	'''##..00 	&sz~~cn.BCCDDD$'' &"%%% $'' & & &	& 	&& &rL   c                    d| _         |                                                                 }|rA|                    t          j                            t          j        j                             |                                  d S NF)	r   rZ   r   r   r   r   r   LEFT_PTRra   r   s     rJ   readyzTroubleshooter.ready   sm    $##..00 	Hsz~~cn.EFFGGG&&)))))rL   c                 @   | j         }| j                            |dk               t          | j                  |dz   k    r]t          d           | j                            d           | j                                         | j	        
                                 d S |                     | j        |                   }t          d||fz             | j                            |           | j        
                                 | j	                                         d S )Nr   r   zOut of questionsFzPage %d: can click forward? %s)r;   r0   r/   rS   r<   r^   r7   r2   showr4   rU   _can_click_forward)rE   rV   rc   cans       rJ   ra   z(Troubleshooter._set_back_forward_buttons   s    	+++4!8++*+++L&&...JOOK))4>$+?@@C8D#;FGGGL&&,,,JOOKrL   c                 J   |                                   d| _        	 | j        | j                                                  n#  |                                  Y nxY w| xj        dz  c_        | j        | j                 }|                     |          sNt          d| j        z             | xj        dz  c_        | j        | j                 }|                     |          N| j        	                    | j                   i }t          | j                  D ]"}|                    | j        |                    #|| _        	 | j        | j                                     | j                   n#  |                                  Y nxY wd| _        |                                  d S )NTr   Page %d: skipF)r   rC   r<   r;   rQ   rP   _displayr^   r:   r8   rR   updater=   rB   rj   ra   r   )rE   rk   rb   rB   rW   s        rJ   r.   zTroubleshooter._on_back_clicked   s   		 $	&N4,-@@CCCC	&""%%%%%Q>$"34--** 	94+<=>>>"~d&78H	 --** 	9 		""D$5666)** 	6 	6ANND1!45555	&N4,-!?@@@@	&""%%%%% %

s   $A A*E- -Fc                    |                                   |                     | j        | j                           }|| j        | j        <   | j                            |           	 | j        | j                                                  n#  |                                  Y nxY w| xj        dz  c_        | j        | j                 }| 	                    |          s|                     |          }|| j        | j        <   | j                            |           t          d| j        z             | xj        dz  c_        | j        | j                 }| 	                    |          | j                            | j                   	 |                    | j                   n#  |                                  Y nxY w|                                  t!                      r|                                  d S d S )Nr   r   )r   _collect_answerr<   r;   r=   rB   r   rQ   rP   r   r^   r:   r8   rj   ra   r   get_debugging_dump_answers)rE   rk   answer_dictrb   s       rJ   r6   z"Troubleshooter._on_forward_clicked   s   		**DN4;L,MNN3>d/0[)))	&N4,-@@CCCC	&""%%%%%Q>$"34--** 	9..99K7BD!$"34L---4+<=>>>"~d&78H --** 	9 		""D$5666	&$$d&DEEEE	&""%%%%%

 	"!!!!!	" 	"s   $$B	 	B!F" "F:c                 H    t          |                                            d S rN   )r^   r   rY   s    rJ   r   zTroubleshooter._dump_answers  s"    D((++,,,,,rL   c                    	 t          d           t          j                    \  }}}t          j        |d           }t          |          r|d t          |          dz
           }t          j        ||          }t          j        |          D ]#}t          |                                           $t          |d                                                    d S #  Y d S xY w)Nz
Traceback:)limitr   r   )	printsysexc_info	traceback
extract_tbrS   format_exception_only	format_tbstrip)rE   typevaluetbtblastextxtlines          rJ   rP   z Troubleshooter._report_traceback  s    	, #T5")2T:::FF|| 3 1f!1 123T5AAE!+B// % %djjmm$$$$%(..##$$$$$	DDs   CC C"c                 z    d}	 |                                 }n#  |                                  Y nxY w||_        |S r   )displayrP   	displayed)rE   rb   results      rJ   r   zTroubleshooter._display,  sM    	&%%((FF	&""%%%%%#    1c                 d    	 |                                 S #  |                                  Y dS xY w)NT)can_click_forwardrP   )rE   rb   s     rJ   r   z!Troubleshooter._can_click_forward6  s;    	--000	""%%%44s    /c                 l    i }	 |                                 }n#  |                                  Y nxY w|S rN   )collect_answerrP   )rE   rb   answers      rJ   r   zTroubleshooter._collect_answer=  sE    	&,,//FF	&""%%%%%r   NN)__name__
__module____qualname__rK   r   rZ   re   rl   rn   r   r   r   ra   r.   r6   r   rP   r   r   r    rL   rJ   r   r   /   s       @ @ @ @D  .  
* * *  $% % %% % %& & &* * *        >" " "@- - -          rL   r   )WelcomeSchedulerNotRunningCheckLocalServerPublishingChoosePrinterCheckPrinterSanityCheckPPDSanityLocalOrRemoteDeviceListedCheckUSBPermissionsRemoteAddressCheckNetworkServerSanityChooseNetworkPrinterNetworkCUPSPrinterSharedQueueNotEnabledQueueRejectingJobsPrinterStateReasonsVerifyPackagesCheckSELinuxServerFirewalledErrorLogCheckpointPrintTestPageErrorLogFetchr   ErrorLogParseLocaleShrugc                     t          | |          }g }t          D ]^}	 ||vr*t          d|d|           |                    |           t          d|z             D#  |                                 Y \xY w|S )N)rF   zfrom .z import z%s (troubleshooter))r   	QUESTIONSexecrh   rP   )r   rF   troubleshootermodules_importedmodules        rJ   runr   f  s    #VF;;;N 0 0	0---fffff=>>> ''000'&01111	0,,/////s   A AA7rp   debugz--debugTr   )(gi.repositoryr   r   rz   r   r>   r@   r   r   os.pathosgettext
textdomainargvgetcwdcwdpathsepdirnamesubrootrh   rp   r   r   r   r   getopt
gnu_getoptoptsrV   optoptargset_debuggingGetoptErrorthreads_init	main_quitthreads_enterr   threads_leaver   rL   rJ   <module>r      s  ,              



      zNNNNNNG/000
x{1~billRW[ 38A;.x{
'//4
 
 C7??C  DHOOT          U U U U U U U Un  	@    zMMM&V&b)0	3 3
d 	% 	%KCit$$$	%    CCCCHKKKC s   <E 
EE