
    Hf0                        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k7  r; e
j                         Zee
j                   j"                  z   ej                  d    z   Znej                  d    Ze
j                   j%                  e      Ze
j                   j%                  e      Zej                   j+                  e       ddlmZ dd	l  G d
 d      Zg dZddZedk(  rd dlZ	  ej8                  ej                  dd ddg      \  ZZeD ]  \  ZZ edk(  s e!d        	  ejF                           eejH                          ejJ                           ejL                           ejN                          yy# ejD                  $ r Y iw xY w)    )Gdk)GtkN__main__zsystem-config-printer/   )base)*c                   t    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y)TroubleshooterNc                 X   d| _         t        j                         }|rK|j                  |       |j	                  t        j
                  j                         |j                  d       |j                  t        d             |j                  dd       |j                  dd       |j                  d| j                         || _        || _        t        j                         }|j!                  |       t        j"                         }|j%                  d	       |j'                  |ddd
       |j'                  t        j(                         ddd
       t        j*                         }|j%                  d	       |j-                  d       |j/                  t        j0                  j2                         t        j4                  j7                  t        j8                        }|j                  d| j:                         |j=                  d       || _        t        j4                  j7                  t        j@                        }|j                  d| j                         || _!        t        j4                  j7                  t        jD                        }	|	j                  d| j                         |	| _#        t        j4                  j7                  t        jH                        }
|
j                  d| jJ                         |
| _&        |j'                  |ddd
       |j'                  |	ddd
       |j'                  |ddd
       |j'                  |
ddd
       |j'                  |ddd
       |
j                  dd       |
j                  dd       |jO                  d
       |jQ                  d       || _)        d
| _*        g | _+        g | _,        tZ        jZ                  j]                  t_        j^                               }d|ja                  d      i| _1        d| _2        |jg                          y )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
   $zz}""F+s11BBCNND!345?C0+S1ndii0	xx{$||q!tT1-*E5!<nna **../zz((#*;*;<i!6!67E"	

))3??;y$)),
**C,<,<=	499-**++S-A-ABD$<$<=eUA.ua0ueQ/q1eUA.]D1]D1q!E"	 "--tyy|<-s||W/EF %    c                    | j                   r)	 | j                  | j                     j                          y 	 | j                  | j                     j                          t        t        | j                              D ]  }| j                  j                           | j                  j                          | j                  r| j                  |        y y #  | j	                          Y y xY w#  | j	                          Y xY w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01BBE 	&NN4,,-@@C T^^,- 	"ANN!	" 			;;KK !*&&)	&""%s   'C 'C+ C(+C?c                     | j                   S rN   )r   rE   s    rJ   
get_windowzTroubleshooter.get_window   s     yyrL   c                 b   | j                   j                  |      }t        d|z         | j                   d |dz    | _         | j                  d |dz    | _        t	        | j
                  j                         dz
  |d      D ]  }| j
                  j                  |        | j                          y )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	2 $ 5 5itax @		--014dB? 	&AII!!1%	&&&)rL   c                    t        | j                        }t        d|t        |      fz         | j                  j	                  |       | j
                  j	                  g        | j                  j                  |d |       |j                          |dk(  r>	 |j                  | j                         | j                  j                  |       || _        | j                          |S #  | j                          Y HxY w)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    DNN#&$X)??@x($$b)		vtT219*(($*H*HI II&&- $D&&)*&&)s   C' '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                  |   j                         }|j	                         D cg c]  }|j                  d      s| c}D ]  }||=  t        t        |j	                                     dk(  r~|d|| j                  |   fz  dz   z  }|t        j                  |      dz   z  }|dz  } |j                         dz   S c c}w )N r   r   r   zPage %d (%s):
)rR   r;   r=   copykeys
startswithrS   listr<   pprintpformatrstrip)rE   textnrW   rB   xhiddens          rJ   answers_as_textzTroubleshooter.answers_as_text   s    ))* 	A++A.336G&-llnKc8J1K $FO$D)*a/Oq$..*;&<<tCCDFNNG,t33DFA	 {{~$$ Ls   C'#C'c                    d| _         | j                  j                  d       | j                  j                  d       | j	                         j	                         }|r|j                  t        j                  j                  t        j                  j                               t        j                         r*t        j                          t        j                         r)y y y )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szz~~cnn.B.BCD$$'""% $$' rL   c                     d| _         | j                         j                         }|rF|j                  t        j                  j                  t        j                  j                               | j                          y NF)	r   rZ   r   r   r   r   r   LEFT_PTRra   r   s     rJ   readyzTroubleshooter.ready   sS    $#..0szz~~cnn.E.EFG&&)rL   c                 >   | j                   }| j                  j                  |dk7         t        | j                        |dz   k(  r[t        d       | j                  j                  d       | j                  j                          | j                  j                          y | j                  | j                  |         }t        d||fz         | j                  j                  |       | j                  j                          | j                  j                          y )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+*+LL&&.JJOOKK))4>>$+?@C8D#;FGLL&&,JJOOKKrL   c                 n   | j                          d| _        	 | j                  | j                     j	                          | xj                  dz  c_        | j                  | j                     }| j                  |      sXt        d| j                  z         | xj                  dz  c_        | j                  | j                     }| j                  |      sX| j                  j                  | j                         i }t        | j                        D ]   }|j                  | j                  |          " || _        	 | j                  | j                     j                  | j                         d| _        | j!                          y #  | j                          Y ]xY w#  | j                          Y DxY w)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   sb   		 $	&NN4,,-@@C 	Q>>$"3"34--*4+<+<=>"~~d&7&78H	 --* 			""D$5$56))* 	6ANND11!45	6	&NN4,,-!?!?@ !&

1	&""%&	&""%s   'F >2F  F F4c                    | j                          | j                  | j                  | j                           }|| j                  | j                  <   | j
                  j                  |       	 | j                  | j                     j                          | xj                  dz  c_        | j                  | j                     }| j                  |      s| j                  |      }|| j                  | j                  <   | j
                  j                  |       t        d| j                  z         | xj                  dz  c_        | j                  | j                     }| j                  |      s| j                  j                  | j                         	 |j                  | j                         | j                          t!               r| j#                          y y #  | j                          Y ^xY w#  | j                          Y XxY w)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   		**DNN4;L;L,MN3>d//0[)	&NN4,,-@@C 	Q>>$"3"34--*..9K7BD!!$"3"34LL-4+<+<=>"~~d&7&78H --* 			""D$5$56	&$$d&D&DE 	

! +	&""% 	&""%s   .'G G6 G36H
c                 6    t        | j                                y 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        |j                                 t        |d   j                                y #  Y y 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| 1f!1233T5AE!++B/ %djjm$%%(..#$	s   B;B> >Cc                 h    d}	 |j                         }||_        |S #  | j                          Y xY wr   )displayrP   	displayed)rE   rb   results      rJ   r   zTroubleshooter._display,  s<    	&%%(F $		&""%s    1c                 R    	 |j                         S #  | j                          Y yxY w)NT)can_click_forwardrP   )rE   rb   s     rJ   r   z!Troubleshooter._can_click_forward6  s,    	--00	""%s    &c                 \    i }	 |j                         }|S #  | j                          Y |S xY wrN   )collect_answerrP   )rE   rb   answers      rJ   r   zTroubleshooter._collect_answer=  s9    	&,,/F 	&""%s    +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   /   sZ    @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 ]7  }	 ||vr"t        d|d|       |j                  |       t        d|z         9 |S #  |j	                          Y PxY w)N)rF   zfrom .z import z%s (troubleshooter))r   	QUESTIONSexecrh   rP   )r   rF   troubleshootermodules_importedmodules        rJ   runr   f  su    #VF;N 0	0--ff=> ''0'&010 	0,,/s   4AA&rp   debugz--debugTr   )(gi.repositoryr   r   rv   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G/0
xx{1~biilRWW[[ 388A;.xx{
''//4
 C77??C DHHOOT  U Un	@ z&V&&b)0	3
d 	%KCit$	%
 CCCHHKC   s   2F- 

F- -F?>F?