
    \Ney                         d dl Z  e j                  dd       d dlmZ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mZ d dlmZ d dlZd dlZ G d de      Zy)    NGtkz3.0)r   Gdk   )ReleaseNotesViewer)error)DistUpgradeFetcherCore)SimpleGtkbuilderApp)gettext)urlopen)	HTTPErrorc                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)DistUpgradeFetcherGtkc                     t        j                  | ||       t        j                  j	                  |dd      }t        |d      | _        || _        y )N
gtkbuilderzReleaseNotes.uizubuntu-release-upgrader)r   __init__ospathjoinr	   widgetswindow_main)selfnew_distprogressparentdatadiruifiles         @/usr/lib/python3/dist-packages/DistUpgrade/DistUpgradeFetcher.pyr   zDistUpgradeFetcherGtk.__init__(   sB    ''hAg|5FG*63LM!    c                 0    t        | j                  ||      S N)r   r   )r   summarymessages      r   r   zDistUpgradeFetcherGtk.error.   s    T%%w88r   c                 t    t        j                  | j                  | j                  g| j                  z          y r    )r   execvscriptrun_options)r   s    r   runDistUpgraderz%DistUpgradeFetcherGtk.runDistUpgrader1   s%    
t{{md.>.>>?r   c                 J    | j                         }||S | j                         S r    )_try_show_release_notes_webkit _try_show_release_notes_textview)r   ress     r   showReleaseNotesz&DistUpgradeFetcherGtk.showReleaseNotes4   s-     113?J 88::r   c                    | j                   j                  	 ddlm}  || j                   j                        }|j                          | j                  j
                  j                  |       | j                  j                  j                         }| j                  j                  j                          |t        j                  j                  k(  ryyy # t        $ r Y y w xY w)Nr   )ReleaseNotesViewerWebkitTF)r   releaseNotesHtmlUrir.   showr   scrolled_notesadddialog_release_notesrunhider   ResponseTypeOKImportError)r   r.   webkit_release_notesr+   s       r   r)   z4DistUpgradeFetcherGtk._try_show_release_notes_webkit>   s    ==,,8N'?MM55(7$$))+++//0DEll77;;=11668#**---   s   B<C 	C#"C#c                    | j                   j                  | j                  | j                   j                        }| j                  ry| j                  j	                  d       | j                  j                         j                  t        j                  j                  t        j                  j                               t        j                         r)t        j                          t        j                         r)t        j                  j                   }t#        j$                         }	 t#        j&                  d       t)        |      }|j+                         j-                  dd      }t/        |      }|j1                          | j2                  j4                  j7                  |       | j2                  j8                  }|j;                  | j                         | j2                  j8                  j=                         }| j2                  j8                  j?                          t#        j&                  |       | j                  rD| j                  j	                  d       | j                  j                         j                  d        |t        j                  j\                  k(  ryy# t@        $ r dtC        d      z  }tC        d      }	t        jD                  | j                  t        jF                  jH                  t        jJ                  jL                  t        jN                  jP                  d      }
|
jS                  d       |
jU                  |       |
jW                  |	       |
j=                          |
jY                          Y gtZ        $ r dtC        d	      z  }tC        d
      }	t        jD                  | j                  t        jF                  jH                  t        jJ                  jL                  t        jN                  jP                  d      }
|
jS                  d       |
jU                  |       |
jW                  |	       |
j=                          |
jY                          Y Iw xY w)NF   zUTF-8replacez+<span weight="bold" size="larger">%s</span>z Could not find the release noteszThe server may be overloaded.  z$Could not download the release notesz&Please check your internet connection.T)/r   releaseNotesURI
_expandUrir   set_sensitive
get_window
set_cursorr   Cursornew
CursorTypeWATCHr   events_pendingmain_iterationr6   CANCELsocketgetdefaulttimeoutsetdefaulttimeoutr   readdecoder   r0   r   r1   r2   r3   set_transient_forr4   r5   r   _MessageDialogDialogFlagsMODALMessageTypeERRORButtonsTypeCLOSE	set_title
set_markupformat_secondary_textdestroyIOErrorr7   )r   urir+   timeoutrelease_notesnotestextview_release_notesrelease_widgetprimary	secondarydialogs              r   r*   z6DistUpgradeFetcherGtk._try_show_release_notes_textviewO   s;   ==((4//$--"?"?@C  ..u5  ++-88JJNN3>>#7#78:$$&""$ $$&
 ""))C..0G$!((+ '%**,33GYG);E)B&&++-++//0FG!%!B!B001A1ABll77;;=116686 $$W-  ..t4  ++-88>c&&)))C  !K>?@>?	**4+;+;+.??+@+@+.??+@+@+.??+@+@"F   $!!'*,,Y7

  !KBCDFG	**4+;+;+.??+@+@+.??+@+@+.??+@+@"F   $!!'*,,Y7

 !s   .C9J+ +C Q1CQ10Q1N)	__name__
__module____qualname__r   r   r'   r,   r)   r*    r   r   r   r   &   s!    "9@;";r   r   )girequire_versiongi.repositoryr   r   r   utilsr   r   SimpleGtk3builderAppr	   r
   rP   urllib.requestr   urllib.errorr   r   rJ   r   ri   r   r   <module>rq      sI   . 
   5%   " 2  : 5   " " 	 d2 dr   