
QNc           @   s2  d  d l  Z  e  j d d  e  j d d  d  d l m Z d  d l m Z d  d l m Z d  d	 l m Z 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 d  d l Z d  d l Z d  d l Z d  d l m Z m Z d  d l m Z m Z m Z m Z d  d l m Z d  d l Z d  d l m Z e j   d   Z d e j j  f d     YZ! d e j j" j# f d     YZ$ d e f d     YZ% d e f d     YZ& d e' f d     YZ( d e' f d     YZ) d e e f d     YZ* e+ d k r.e*   Z, e% e,  Z- e& e,  Z. e, j/   j0 d  d! d" g  e j1   e	 j2 d#  e j3   Z4 xA e	 j5 d$ D]2 Z6 e4 e6 j7 re4 e6 j8   n e4 e6 j9   qWe4 j: e- e.  e j1   e. j; d% d&  e, j/   j0 d  d! d" g  e, j< d' d( d)  e, j= d* g  d+  n  d S(,   iNt   Gtks   3.0t   Vtes   2.90(   R    (   t   Gdk(   R   (   t   GLib(   t   GObject(   t   Pango(   t
   run_apportt   apport_crash(   t   DistUpgradeViewt   FuzzyTimeToStrt   InstallProgresst   FetchProgress(   t   SimpleGtkbuilderApp(   t   gettextc         C   s   t  |  d  j d  S(   Nt   latin1s   utf-8(   t   unicodet   encode(   t   str(    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   utf85   s    t   GtkCdromProgressAdapterc           B   s2   e  Z d  Z d   Z d   Z d   Z d   Z RS(   si    Report the cdrom add progress
        Subclass this class to implement cdrom add progress reporting
    c         C   s%   | j  |  _ | j |  _ | |  _ d  S(   N(   t   label_statust   statust   progressbar_cachet   progresst   parent(   t   selfR   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   __init__<   s    c         C   sW   | r |  j  j |  n  |  j j | t |  j   x t j   rR t j   q9 Wd S(   s;    update is called regularly so that the gui can be redrawn N(	   R   t   set_textR   t   set_fractiont   floatt
   totalStepsR    t   events_pendingt   main_iteration(   R   t   textt   step(    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   update@   s
    c         C   s
   t  d f S(   Nt    (   t   False(   R   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   askCdromNameG   s    c         C   s   t  S(   N(   R%   (   R   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   changeCdromI   s    (   t   __name__t
   __module__t   __doc__R   R#   R&   R'   (    (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyR   8   s
   			t   GtkOpProgressc           B   s#   e  Z d    Z d   Z d   Z RS(   c         C   s   | |  _  d |  _ d  S(   Ng        (   t   progressbart   fraction(   R   R,   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyR   M   s    	c         C   sc   | d } t  |  j |  d k rB | |  _ |  j j |  j  n  x t j   r^ t j   qE Wd  S(   Ng      Y@g?(   t   absR-   R,   R   R    R   R    (   R   t   percentt   new_fraction(    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyR#   S   s    
	c         C   s   |  j  j d  d  S(   Nt    (   R,   R   (   R   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   done_   s    (   R(   R)   R   R#   R2   (    (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyR+   L   s   		t   GtkFetchProgressAdapterc           B   s>   e  Z d    Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   sc   t  t |   j   | j |  _ | j |  _ | |  _ t |  _	 | j
 |  _ |  j j d |  j  d  S(   Nt   clicked(   t   superR3   R   R   R   R   R   R   R%   t   canceledt   button_fetch_cancelt   button_cancelt   connectt   cancelClicked(   R   R   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyR   g   s    		c         C   s   t  j d  t |  _ d  S(   NR:   (   t   loggingt   debugt   TrueR6   (   R   t   widget(    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyR:   p   s    c      	   C   s   t  d  | | f } t j d |  j j d t j j d t j j d t j	 j
  } | j |  | j   } | j d  | j   | t j j k r t St S(   Ns&   Please insert '%s' into the drive '%s'R   t   flagst   typet   buttonsR$   (   t   _R    t   MessageDialogR   t   window_maint   DialogFlagst   MODALt   MessageTypet   QUESTIONt   ButtonsTypet	   OK_CANCELt
   set_markupt   runt	   set_titlet   destroyt   ResponseTypet   OKR=   R%   (   R   t   mediumt   drivet   msgt   dialogt   res(    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   media_changes   s    
c         C   sA   t  t |   j   |  j j d  |  j j   |  j j   d  S(   Ni    (   R5   R3   t   startR   R   R   t   showR8   (   R   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyRW      s    c         C   s7   |  j  j d  |  j j t d   |  j j   d  S(   NR1   s   Fetching is complete(   R   R   R   RB   R8   t   hide(   R   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   stop   s    c         C   s=  t  t |   j |  t |  j |  j j   d  d k r|  j j |  j d  |  j d } | |  j	 k r{ |  j	 } n  |  j
 d k r |  j j t d  | |  j	 t j |  j
  f  |  j j t d  t |  j   q|  j j t d  | |  j	 f  |  j j d  n  x t j   r4t j   qW|  j S(	   Ng      Y@g?i   i    s!   Fetching file %li of %li at %sB/ss   About %s remainings   Fetching file %li of %lis     (   R5   R3   t   pulseR.   R/   R   t   get_fractionR   t   current_itemst   total_itemst   current_cpsR   R   RB   t   apt_pkgt   size_to_strR	   t   etaR    R   R    R6   (   R   t   ownert   currentItem(    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyR[      s$    &	(   R(   R)   R   R:   RV   RW   RZ   R[   (    (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyR3   c   s   						t   GtkInstallProgressAdapterc           B   sh   e  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z RS(   i   c         C   s|   t  j |   d  |  _ | j |  _ | j |  _ | j |  _ | j	 |  _
 |  j
 j d |  j  | |  _ t j j d d  d  S(   Ns   child-exiteds   DPkg::StopOnErrorR%   (   R
   R   t   Nonet   _cacheR   R   R   t   expander_terminalt   expandert   _termt   termR9   t   child_exitedR   R`   t   Configt   set(   R   R   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyR      s    		c         C   s0  t  j |   t |  _ |  j j t d   |  j j d  |  j j d  |  j	 j
 t  |  j j   t j j d  p~ d } | d k r |  j r d |  j k s |  j d j r d } |  j	 j t  q n  d |  j d	 g |  _ t j j d  s|  j j d
 |  n  d |  _ d |  _ d |  _ d  S(   Ns   Applying changesg        R1   t   DEBIAN_FRONTENDt   gnomes   libgtk2-perlRT   s   VTE_PTY_KEEP_FD=%ss   APT_LISTCHANGES_FRONTEND=nones   DEBIAN_FRONTEND=%s(   R
   t   start_updateR%   t   finishedR   R   RB   R   R   Ri   t   set_sensitiveR=   Rk   RX   t   ost   environt   getRg   t   is_installedt   set_expandedt   writefdt   envt   has_keyt   appendt
   start_timet   time_uit   last_activity(   R   t   frontend(    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyRq      s(    	
		c         C   s7  t  j |  | |  t j d | | f  t j d d  | k rF t S|  j j j |  j j	  t
 d  | } t
 d  | } d | | f } |  j j j   |  j j j d  |  j j j   j t j j  |  j j j |  |  j j j   j t |   |  j j j   |  j j j   |  j j j   d  S(   Ns*   got an error from dpkg for pkg: '%s': '%s't   dpkgs*   dependency problems - leaving unconfigureds   Could not install '%s's   The upgrade will continue but the '%s' package may not be in a working state. Please consider submitting a bug report about it.s   <big><b>%s</b></big>

%sR$   (   R
   t   errorR;   R   t   dgettextR%   R   t   dialog_errort   set_transient_forRD   RB   t   realizeRM   t
   get_windowt   set_functionsR   t
   WMFunctiont   MOVEt   label_errorRK   t   textview_errort
   get_bufferR   R   t   scroll_errorRX   RL   RY   (   R   t   pkgt   errormsgt   summaryRS   t   markup(    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyR      s"    	c   
      C   s  t  j d |  t j   } t d  | } t d  } d | | f } |  j j j |  |  j j j d  |  j j j	 |  j j
  t j j |  s | d } n  t j j d  rd d | | g } t t j | d	 t j j   d
  } |  j j j   j |  n |  j j j   j t d   |  j j j   }	 |  j j j   |  j t j   | 7_ |	 t j j k r|  j j d d  n |  j j d d  d  S(   Ns.   got a conffile-prompt from dpkg for file: '%s's/   Replace the customized configuration file
'%s'?st   You will lose any changes you have made to this configuration file if you choose to replace it with a newer version.s1   <span weight="bold" size="larger">%s </span> 

%sR$   s
   .dpkg-dists   /usr/bin/diffs   -ut   stdouti    s    The 'diff' command was not founds   y
is   n
(   R;   R<   t   timeRB   R   t   label_conffileRK   t   dialog_conffileRM   R   RD   Rt   t   patht   existsR   t
   subprocesst   Popent   PIPEt   communicatet   textview_conffileR   R   RL   RY   R~   R    RO   t   YESRk   t
   feed_child(
   R   t   currentt   newRW   t   primt   secR   t   cmdt   diffRU   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   conffile   s*    (c         C   s   t  j j t  j j  } t j   } | d k r x3 |  j D]( } | j d  \ } } | t j	 | <q: W| j
   d t j	 d <n  |  j j |  |  j j |  | S(   Ni    t   =t   1t   DPKG_UNTRANSLATED_MESSAGES(   R   t   PtyR   t   PtyFlagst   DEFAULTRt   t   forkRz   t   splitRu   t   child_setupRk   t   set_pty_objectt   watch_child(   R   t   ptyt   pidRz   t   keyt   value(    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyR     s    
c         C   si  |  j  d k r! t j   |  _  n  t | |  j j   d  d k rw |  j j t |  d  |  j j | j	    n  | d k ret j   |  _
 t |  _ |  j
 |  j  } | |  j 8} t |  | } d | | } | d k r| d k  r|  j j t d	  t |   n |  j j d
  |  j j re|  j j j d  d k re|  j j j d |  qen  d  S(   Ng        g      Y@g?g      ?g     N@i<   i   i   s   About %s remainingR1   s   load-statuss   progress("%s")i  iQ i  (   R}   R   R.   R   R\   R   R   R   R   t   stripR   R%   t   activity_timeout_reportedR~   RB   R	   R   t   _webkit_viewt   get_propertyt   execute_script(   R   R   R/   R   t   deltat   time_per_percentRb   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   status_change  s$    #	#c         C   s   | j    |  _ t |  _ d  S(   N(   t   get_child_exit_statust
   apt_statusR=   Rr   (   R   Rk   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyRl   5  s    c         C   s!   x |  j  s |  j   q W|  j S(   N(   Rr   t   update_interfaceR   (   R   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt
   wait_child:  s    c         C   s   |  j  j d  d  S(   NR$   (   R   R   (   R   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   finish_update?  s    c         C   s   t  j |   |  j d k r9 |  j j   t j d  n  |  j d k r |  j |  j t j   k  r |  j	 s t
 j d |  j |  j j   f  t |  _	 n  |  j j j t  n  x t j   r t j   q Wt j d  d  S(   Ng        g?i    s+   no activity on terminal for %s seconds (%s)g{Gz?(   R
   R   R}   R   R[   R   t   sleepR   t   TIMEOUT_TERMINAL_ACTIVITYR   R;   t   warningR   t   get_textR=   R   Rh   Rx   R    R   R    (   R   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyR   B  s    	#(   R(   R)   R   R   Rq   R   R   R   R   Rl   R   R   R   (    (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyRe      s   				!					t   DistUpgradeVteTerminalc           B   s   e  Z d    Z e d  Z RS(   c         C   s   | |  _  | |  _ d  S(   N(   Rk   R   (   R   R   Rk   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyR   U  s    	c            s     f d   }   j  j     j  j d |    j j j t  | t k rd   j j j t  n  t   _	   j  j
 t j j d | d  d d  d   \ } } | s | d k  r d  Sx7   j	 s x t j   r t j   q Wt j d  q W  `	 d  S(   Nc            s   t    _ d  S(   N(   R=   Rr   (   R>   (   R   (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   wait_for_childY  s    s   child-exitedt   /i    g?(   Rk   RX   R9   R   Rh   Rs   R=   R%   Rx   Rr   t   fork_command_fullR   R   R   Rf   R    R   R    R   R   (   R   R   t   hiddenR   t   successR   (    (   R   sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   callX  s*    	(   R(   R)   R   R%   R   (    (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyR   T  s   	t   HtmlViewc           B   s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C   s   | |  _  d  S(   N(   R   (   R   t   webkit_view(    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyR   t  s    c         C   s7   |  j  s d  S|  j  j |  |  j  j d |  j  d  S(   Ns   load-finished(   R   t   openR9   t   _on_load_finished(   R   t   url(    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyR   v  s    	c         C   s   |  j  j   d  S(   N(   R   RX   (   R   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyRX   {  s    c         C   s   |  j  j   d  S(   N(   R   RY   (   R   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyRY   }  s    c         C   s   | j    d  S(   N(   RX   (   R   t   viewt   frame(    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyR     s    (   R(   R)   R   R   RX   RY   R   (    (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyR   s  s
   				t   DistUpgradeViewGtk3c           B   s   e  Z d  Z d 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 d  Z d d  Z d e d  Z d d  Z d   Z d   Z e d  Z d   Z RS(   s&    gtk frontend of the distUpgrade tool c   
      C   s  t  j |   | |  _ | sF t j j t j   d  } t j   } n d } t j j | d  } t j t	 j
  y! t j d |  t j d  Wn$ t k
 r } t j d |  n Xt j |  | d d  t j j   } y# |  j j | j d d d   Wn' t j k
 r+} t j d	 |  n X|  j   d |  _ t j j   |  _ y? d
 d l m } | j    |  _! |  j" j# |  j! t$ t$ d  Wn t j% d  d  |  _! n X|  j j'   |  j j(   j) t* j+ j,  t- |  j.  |  _/ t0 |   |  _1 t2 |   |  _3 t4 |   |  _5 t j6 t j7  |  _8 t j9 d  } t j:   }	 | j; |	 t$  | j< |	 d d  |  j= j> |  |  j8 j? d t j@ jA  |  j= jB |  j8  |  jC t	 _D d  S(   Nt   mos   /usr/share/locale/t
   gtkbuilders   update-managers   Error setting locales (%s)s   /DistUpgrade.uii    i    s)   error setting default icon, ignoring (%s)i(   t   WebKits   html widgetR$   R   (E   R   R   t   logdirRt   R   t   joint   getcwdR    t
   init_checkt   syst   argvt   localet   bindtextdomainR   t
   textdomaint	   ExceptionR;   R   R   t	   IconThemet   get_defaultRD   t   set_default_icont	   load_iconR   t   GErrorR<   t   create_terminalt	   prev_stept	   iconthemet   gi.repositoryR   t   WebViewR   t	   vbox_maint   pack_endR=   t	   exceptionRf   R   R   R   R   R   R   R+   R   t   _opCacheProgressR3   t   _fetchProgressR   t   _cdromProgressRe   t   _installProgresst	   TreeStoret   TYPE_STRINGt   details_listt   TreeViewColumnt   CellRendererTextt
   pack_startt   add_attributet   treeview_detailst   append_columnt   set_sort_column_idt   SortTypet	   ASCENDINGt	   set_modelt   _handleExceptiont
   excepthook(
   R   t   datadirR   t	   localedirt   gladedirt   et   iconsR   t   columnt   render(    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyR     s^    		#
	 	c         C   s   d d  l  } | j | | |  } t j d d j |   t | | |  t   s |  j t d  t d  d j |   n  t j	 d  d  S(   Nis   not handled expection:
%ss   
s   A fatal error occurreds   Please report this as a bug (if you haven't already) and include the files /var/log/dist-upgrade/main.log and /var/log/dist-upgrade/apt.log in your report. The upgrade has aborted.
Your original sources.list was saved in /etc/apt/sources.list.distUpgrade.i   (
   t	   tracebackt   format_exceptionR;   R   R   R   R   RB   R   t   exit(   R   R@   R   t   tbR
  t   lines(    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyR    s    		c         C   s   t  |  |  j  S(   N(   R   Rj   (   R   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   getTerminal  s    c         C   s   t  |  j  S(   N(   R   R   (   R   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   getHtmlView  s    c         C   sm   t  | j  d k ri t | j  d k ri t d  } t d  } |  j | |  } t j d |  | St S(   Ni   i   s   Ctrl-c pressedsk   This will abort the operation and may leave the system in a broken state. Are you sure you want to do that?s5   ctrl-c press detected, user decided to pass it on: %s(   t   lent   stringt   ordRB   t   askYesNoQuestionR;   R   R%   (   R   R>   t   keyevR   RS   RU   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   _key_press_handler  s    *	c         C   s  t  j   |  _ |  j j d |  j  |  j j d  g  |  _ |  j j |  j t	 t	 d  |  j j
   t j   |  _ |  j j   |  j j |  j t	 t	 d  |  j j |  j j    y( t t j j |  j d  d  |  _ Wn t k
 r t j |  _ n X|  j S(   s!    helper to create a vte terminal s   key-press-events   monospace 10i    s   term.logt   w(   R   t   TerminalRj   R9   R  t   set_font_from_stringt   _terminal_linest   hbox_customR   R=   R   R    t
   VScrollbart   vscrollbar_terminalRX   t   set_adjustmentt   get_vadjustmentR   Rt   R   R   R   t   _terminal_logR   R   R   (   R   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyR     s    	(c         C   s   |  j  S(   N(   R   (   R   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   getFetchProgress  s    c         C   s   | |  j  _ |  j  S(   N(   R   Rg   (   R   t   cache(    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   getInstallProgress  s    c         C   s   |  j  S(   N(   R   (   R   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   getOpCacheProgress	  s    c         C   s   |  j  S(   N(   R   (   R   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   getCdromProgress  s    c         C   s   |  j  j d |  d  S(   Ns   %s(   R   R   (   R   RS   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   updateStatus  s    c         C   s>   t  |  d |  } t  |  d |  } | j   | j   d  S(   Ns   image_step%is   label_step%i(   t   getattrRY   (   R   R"   t   imaget   label(    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   hideStep  s    
c         C   s>   t  |  d |  } t  |  d |  } | j   | j   d  S(   Ns   image_step%is   label_step%i(   R'  RX   (   R   R"   R(  R)  (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   showStep  s    
c         C   su   t  j j } |  j } | d k rq t |  d |  } t |  d |  } | j t  j |  | j   | j   n  d  S(   Ni    s   image_step%is   arrow_step%i(	   R    t   IconSizet   MENUR   R'  t   set_from_stockt   STOCK_CANCELRX   RY   (   R   t   sizeR"   R(  t   arrow(    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   abort  s    	
c         C   s)  |  j  j   r t j d  n  t j j } t j   } |  j	 r t
 |  d |  j	  } t
 |  d |  j	  } t
 |  d |  j	  } | j d |  | j t j |  | j   | j   n  | |  _	 t
 |  d |  } t
 |  d |  } t
 |  d |  } | j d  sd  S| j   | j   d  S(   Ns   icon theme changed, re-readings   image_step%is   label_step%is   arrow_step%it
   attributest   visible(   R   t   rescan_if_neededR;   R<   R    R,  R-  R   t   AttrListR   R'  t   set_propertyR.  t   STOCK_APPLYRX   RY   R   (   R   R"   R0  t   attrlistR(  R)  R1  (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   setStep#  s(    	
	
c         C   s   |  j  j d  |  j  j |  j  d | | f } |  j j |  | d  k r{ |  j j   } | j	 |  |  j
 j   n |  j
 j   |  j  j   |  j  j   j t j j  |  j  j   |  j  j   x t j   r t j   q Wd  S(   NR$   s   <big><b>%s</b></big>

%s(   t   dialog_informationRM   R   RD   t   label_informationRK   Rf   t   textview_informationR   R   t   scroll_informationRX   RY   R   R   R   R   R   R   RL   R    R   R    (   R   R   RS   t   extended_msgt   buffer(    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   information@  s    c         C   s   |  j  j d  |  j  j |  j  d | | f } |  j j |  | d  k r{ |  j j   } | j	 |  |  j
 j   n |  j
 j   |  j  j   |  j  j   j t j j  |  j  j   |  j  j   t S(   NR$   s   <big><b>%s</b></big>

%s(   R   RM   R   RD   R   RK   Rf   R   R   R   R   RX   RY   R   R   R   R   R   R   RL   R%   (   R   R   RS   R?  R@  (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyR   R  s    c         C   s=  t  j |  | | | |  s t S|  j d t d  7_ | d  k r |  j j t  |  j j t	  |  j j
 | d  |  j j
 | d  n  |  j j d |  |  j j |  j  |  j j   x t d  |  j f t d  |  j f t d  |  j f t d	  |  j f t d
  |  j f t d  |  j f f D]w \ } } | r6|  j j d  | t |  g  }	 x@ | D]5 }
 |  j j |	 d |
 j t j |
 j  f g  qqWq6q6W|  j j   |  j j |  j   |  j j! d  |  j j"   j# t$ j% j& t$ j% j' B |  j j(   } |  j j)   | t* j+ j, k r9t	 St S(   Ns   

<b>%s</b>s?   To prevent data loss close all open applications and documents.i    i   s   <big><b>%s</b></big>s%   No longer supported by Canonical (%s)s   <b>Downgrade (%s)</b>s   Remove (%s)s   No longer needed (%s)s   Install (%s)s   Upgrade (%s)s   <b>%s</b> - %sR$   (-   R   t   confirmChangesR%   t   confirmChangesMessageRB   Rf   t   button_cancel_changest   set_use_stockt   set_use_underlineR=   t	   set_labelt   button_confirm_changest   label_summaryRK   t   label_changesR   t   cleart	   demotionst   toDowngradet   toRemovet   toRemoveAutot	   toInstallt	   toUpgradeR|   R  t   nameR   t   markup_escape_textR   t   dialog_changesR   R   RD   RM   R   R   R   R   R   t   RESIZERL   RY   R    RO   R   (   R   R   t   changesRL  t   downloadSizet   actionst   removal_boldt   parent_textR   t   nodeR   RU   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyRB  d  sH    
"+t   Noc      	   C   s   d | | f } t  j d |  j d t  j j d t  j j d t  j j  } | j	 d  | d k rx | j
 t  j j  n | j
 t  j j  | j |  | j   } | j   | t  j j k r t St S(   Ns   <big><b>%s</b></big>

%sR   R?   R@   RA   R$   R\  (   R    RC   RD   RE   RF   RG   RH   RI   t   YES_NORM   t   set_default_responseRO   t   NOR   RK   RL   RN   R=   R%   (   R   R   RS   t   defaultRT   RU   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyR    s    
c         C   s   |  j  j |  j  |  j  j d  |  j  j   |  j  j   j t j j	  |  j  j
   } |  j  j   | t j j k r~ t St S(   NR$   (   t   dialog_restartR   RD   RM   R   R   R   R   R   R   RL   RY   R    RO   R   R=   R%   (   R   RU   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   confirmRestart  s    c         C   s!   x t  j   r t  j   q Wd  S(   N(   R    R   R    (   R   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   processEvents  s    c         C   s*   |  j  j   | r& |  j  j d  n  d  S(   Ng      ?(   R   R[   R   (   R   Rr   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   pulseProgress  s    c         C   s   |  j  j |  j  |  j  j d  |  j  j   |  j  j   j t j j	  |  j  j
   } |  j  j   | t j j k r t j d  n  t S(   NR$   i   (   t   dialog_cancelR   RD   RM   R   R   R   R   R   R   RL   RY   R    RO   t   CANCELR   R  R=   (   R   R>   t   eventRU   (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   on_window_main_delete_event  s    N(   R(   R)   R*   Rf   R   R  R  R  R  R   R!  R#  R$  R%  R&  R*  R+  R2  R:  RA  R   R=   RB  R  Rb  Rc  R%   Rd  Rh  (    (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyR     s0   E															/		t   __main__s   /usr/bin/dpkgs   --configures   -ai    i   t   TODOs   TODO~t   shortt   longs  asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended
asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended
asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended
asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended
asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended
asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended
asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended
t   xxid   (>   t   git   require_versionR   R    R   R   R   R   R   R   R   R;   R   R   t   aptR`   Rt   t   DistUpgradeApportR   R   R   R	   R
   R   t   SimpleGtk3builderAppR   R   t   DistUpgradeGettextRB   t   threads_initR   R   t   CdromProgressR   t   baset
   OpProgressR+   R3   Re   t   objectR   R   R   R(   R   t   fpt   ipR  R   t   mainR  t   CacheR"  R   R   Rw   t   mark_deletet   mark_installt   commitR   R   RB  (    (    (    sC   /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradeViewGtk3.pyt   <module>   sd   "
	? D	

