
    =	f                        d dl Z d dlZd dl d dlmZmZmZmZmZ d dl	 d dl
mZ ddl d dl
mZmZmZmZmZmZ d dl d dl ddlm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" G d de#      Z$ddZ% G d de&      Z' G d de#e      Z(y)    N)*)devicemodelswifiLedmWifiCdmWifi)
to_unicode   )PY3to_bytes_utf8r	   to_string_latinto_string_utf8	xStringIO)	Ui_Dialog               c                   6    e Zd ZddZd	dZd Zd Zd Zd
dZy)PasswordDialogNc                    t         j                  | |       | j                  t        t	        dd                   || _        t        |       }|j                  dddd       |j                  d       t        |       | _
        |j                  | j                  dddd       t        |       | _        |j                  | j                  dd       t        |       | _        | j                  j                  t        j                          |j                  | j                  dddd       t        |       | _        |j                  | j"                  dd       t        |       | _        | j$                  j                  t        j&                         |j                  | j$                  dddd       t)        |       | _        |j                  | j*                  dd       | j-                          | j/                  t1        d	d
      j3                  | j5                                      | j*                  j6                  j9                  | j:                         | j$                  j<                  j9                  | j:                         y )Nhp_logo128x128
      r   r
   r   r   i     )QDialog__init__setWindowIconQIconload_pixmappromptQGridLayoutsetContentsMargins
setSpacingQLabelPromptTextLabel	addWidgetUsernameTextLabel	QLineEditUsernameLineEditsetEchoModeNormalPasswordTextLabelPasswordLineEditPasswordQPushButtonOkPushButtonlanguageChangeresizeQSize
expandedTominimumSizeHintclickedconnectacceptreturnPressed)selfr#   parentnamemodalflLayouts          '/usr/share/hplip/ui5/wifisetupdialog.pyr   zPasswordDialog.__init__?   s   v&5Y	!BCDD!!!"R2.!%d|--a!A6!'//!4 )$)))*:*:;..q1Q7!'//!4 )$)))*<*<=..q1Q7'-**1Q/E#cN--d.B.B.DEF!!))$++6++33DKK@    c                     | j                   j                  |       |s7| j                   j                  d       | j                   j                  d       y y )NTz'QLineEdit {background-color: lightgray})r,   setTextsetReadOnlysetStyleSheet)r=   defUserallowUsernameEdits      rC   setDefaultUsernamez!PasswordDialog.setDefaultUsernamed   sG    %%g. !!--d3!!//0YZ !rD   c                 H    t        | j                  j                               S N)r	   r,   textr=   s    rC   getUsernamezPasswordDialog.getUsernamej       $//44677rD   c                 H    t        | j                  j                               S rM   )r	   r0   rN   rO   s    rC   getPasswordzPasswordDialog.getPasswordn   rQ   rD   c                    | j                  | j                  d             | j                  j                  | j                  | j                               | j
                  j                  | j                  d             | j                  j                  | j                  d             | j                  j                  | j                  d             y )Nz+HP Device Manager - Enter Username/Passwordz	Username:z	Password:OK)setWindowTitle_PasswordDialog__trr(   rF   r#   r*   r/   r3   rO   s    rC   r4   zPasswordDialog.languageChanger   s    DII&STU$$TYYt{{%;<&&tyy'=>&&tyy'=>!!$))D/2rD   c                 0    t         j                  d||      S )NSetupDialogqApp	translater=   scs      rC   __trzPasswordDialog.__trz   s    ~~mAa00rD   )NNr   r   )TrM   )	__name__
__module____qualname__r   rK   rP   rS   r4   rW    rD   rC   r   r   >   s#    #AJ[8831rD   r   c                     	 t        | d       }|d k7  r|j                  ||       |j                         t        j                  k(  r!d|j                         |j                         fS 	 y# w xY w)Nr
   )r    rf   )r   rK   exec_r   AcceptedrP   rS   )r#   userNamerJ   dlgs       rC   showPasswordUIrk   }   si    VT*t""8->?99;'***coo'):; 	 s   A$A) )A+c                       e Zd Zd Zy)DeviceTableWidgetItemc                 \    t         j                  | |t         j                         || _        y rM   )QTableWidgetItemr   UserType
device_uri)r=   rN   rq   s      rC   r   zDeviceTableWidgetItem.__init__   s"    !!$.>.G.GH$rD   N)ra   rb   rc   r   rd   rD   rC   rm   rm      s    %rD   rm   c                      e Zd Z e       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 Zd Zd Zd Zd Zd Zd Zd Zd Zd Z e d      fdZ!d Z"d  Z#d! Z$d" Z%d# Z&e'fd$Z(d% Z)d& Z*d*d'Z+d( Z,y)+WifiSetupDialogNc                    t         j                  | |       | j                  |        || _        i | _        i | _        d| _        d| _        d| _        d| _	        d| _
        t        | _        i | _        d | _        t        | _        d| _        d| _        || _        | j)                          d| _        t,        | _        t0        | _        t4        j7                  d| j8                         y )Nrf   Fusb0.0.0.0Wifi0r   )r   r   setupUirq   devicesnetworksssiddirectedshow_extendedbussearch	PAGE_EXITmax_pagelocation_cachedevSUCCESS_NOT_CONNECTEDsuccessiphn
standaloneinitUiadapterNamer   wifiObjWIFI_CONFIG_LEDMwifiConfValQTimer
singleShotshowIntroPage)r=   r>   rq   r   s       rC   r   zWifiSetupDialog.__init__   s    v&T$	"! ,$"+ 	!T//0rD   c                 j   | j                  t        t        dd                   | j                  j                  j                  | j                         | j                  j                  j                  | j                         | j                  j                  j                  | j                         t        j                  t        j                  t        j                         | j                          | j                          | j!                          | j#                          | j%                          y )Nr   r   )r    r!   r"   CancelButtonr9   r:   CancelButton_clicked
BackButtonBackButton_clicked
NextButtonNextButton_clickedsignalSIGINTSIG_DFLinitIntroPageinitDevicesPageinitNetworkPageinitConfigWifiPageinitExitPagerO   s    rC   r   zWifiSetupDialog.initUi   s    5Y	!BCD 	!!))$*C*CD''(?(?@''(?(?@fmmV^^4!rD   c                 Z   | j                   j                  t        dd             | j                  j                  t        dd             | j                  r+| j
                  j                  | j                  d             y | j
                  j                  | j                  d             y )Nusb_connectionotherinfo16x16a  This utility allows you configure your wireless capable printer using a temporary USB connection. You will be prompted to disconnect the USB cable once wireless network setup is complete. <p><i>Note: This configuration utility does not setup (install) your printer on this computer. Use hp-setup to setup your printer after it has been configured on the network by this utility.</i></p> <p><i>Note: Only select wireless capable printers are supported by this utility.</i></p>a  This utility allows you configure your wireless capable printer using a temporary USB connection. You will be prompted to disconnect the USB cable once wireless network setup is complete. <p><i>Note: Printer setup (installation) will continue after your printer is configured on the network.</i></p> <p><i>Note: Only select wireless capable printers are supported by this utility.</i></p>)Picture	setPixmapr"   InfoIconr   MainTitleLabelrF   _WifiSetupDialog__trrO   s    rC   r   zWifiSetupDialog.initIntroPage   s    {+;WEFFG <=??''		  3P  )Q  R''		  3y  )z  {rD   c                     | j                   j                  d       | j                  j                  d       | j                  t               y )NFT)r   
setEnabledr   displayPage
PAGE_INTROrO   s    rC   r   zWifiSetupDialog.showIntroPage   s4    ""5)""4($rD   c                 b    | j                   j                  j                  | j                         y rM   )RefreshButtonr9   r:   RefreshButton_clickedrO   s    rC   r   zWifiSetupDialog.initDevicesPage   s"    ""**4+E+EFrD   c                 R   | j                   j                  d       | j                  t               t	                	 | j
                  st        j                  d       dt        j                  t        fi}	 ddlm} t                |j                  t        d       t	                t%        j&                  | j(                  gdd|| j*                        | _        t                | j-                          | j
                  r| j.                  j                  d       | j0                  j3                  t5        dd	             t7        | j
                        d
k(  r+| j8                  j;                  | j=                  d             n@| j8                  j;                  | j=                  dt7        | j
                        z               | j?                          n| j.                  j                  d       | j0                  j3                  t5        dd	             t        j#                  d| j(                  z         | j8                  j;                  | j=                  d             | jA                  tB               y # t         $ r t        j#                  d       Y w xY w# t                w xY w)NTzSearching on USB bus...wifi-configr   )smart_installqt4z+Failed to Import smart_install.py from baser   r   r
   zF<b>1 wireless capable device found.</b> Click <i>Next</i> to continue.zi<b>%s wireless capable devices found.</b> Select the device to install and click <i>Next</i> to continue.FerrorzNo devices found on bus: %sz|<b>No wireless capable devices found.</b><br>Plug in your printer with a USB cable and click <i>Refresh</i> to search again.)"r   r   setNextButtonBUTTON_NEXTbeginWaitCursorry   logr   operatorgtWIFI_CONFIG_NONEbaser   endWaitCursordisableGUI_MODEImportErrorr   r   probeDevicesr~   r   clearDevicesTabler   DevicesFoundIconr   r"   lenDevicesFoundLabelrF   r   loadDevicesTabler   PAGE_DEVICES)r=   filter_dictr   s      rC   showDevicesPagezWifiSetupDialog.showDevicesPage   s   ""4(;'	<<23,=M/NO&2 "O!))(E:#%%22DHH:q![RVR]R]^ O <<OO&&t,!!++K,HI4<< A%&&..tyy  :B  0C  D&&..tyy  :e  hk  lp  lx  lx  hy  :y  0z  {!!# OO&&u-!!++K,IJII3dhh>?""**499  6t  ,u  v&? # MIIKLM Os0   9J 6I5 <AJ 5JJ JJ J&c           
          | j                   j                  d       | j                   j                  t        | j                               | j                  d      | j                  d      g}d}| j                   j                  t        |             | j                   j                  |       t        j                  t        j                  z  }t        | j                        D ]  \  }}t        j                  |      \	  }}}}	}
}}}}t        j                  |	      }t!        t#        |      |      }|j%                  |       | j                   j'                  |d|       t)        t#        |            }|j%                  |       | j                   j'                  |||        | j                   j+                          | j                   j                  d       | j                   j-                  d       | j                   j/                  d       y )NFModelz
Device URIr
   r   T)DevicesTableWidgetsetSortingEnabledsetRowCountr   ry   r   setColumnCountsetHorizontalHeaderLabelsQtItemIsSelectableItemIsEnabled	enumerater   parseDeviceURIr   normalizeModelUINamerm   strsetFlagssetItemro   resizeColumnsToContents	sortItems	selectRow)r=   headersdevice_uri_colflagsrowdback_endis_hpr~   modelserialdev_filehostzcportmodel_uiis                    rC   r   z WifiSetupDialog.loadDevicesTable  s   11%8++C,=>99W%tyy'>?..s7|<99'B##b&6&66- 
	DFCLRLaLabcLdIHeS%4T2259H%c(mQ7AJJu##++CA6 Q(AJJu##++CC
	D 	77911$7))!,))!,rD   c                     | j                   j                          | j                   j                  d       | j                   j                  d       y Nr   r   clearr   r   rO   s    rC   r   z!WifiSetupDialog.clearDevicesTable2  <    %%'++A...q1rD   c                 r    | j                          g | _        t        j                  d| j                         y r   )r   ry   r   r   r   rO   s    rC   r   z%WifiSetupDialog.RefreshButton_clicked8  s+     !T112rD   c                    | j                   j                  t        dd             | j                  j	                  d       | j                  j
                  t           j                  | j                         | j                  j
                  j                  | j                         | j                  j
                  t           j                  | j                         | j                  j
                  t           j                  | j                         | j                   j                  j                  | j                          y )N"   r   F)NetworksTableWidgetsetIconSizer6   ShowExtendedCheckBox
setCheckedr9   boolr:   ShowExtendedCheckBox_clickedSearchPushButtonSearchPushButton_clickedUndirectedRadioButtonUndirectedRadioButton_clickedDirectedRadioButtonDirectedRadioButton_clickeditemSelectionChanged(NetworksTableWidget_itemSelectionChangedrO   s    rC   r   zWifiSetupDialog.initNetworkPageB  s      ,,U2r];!!,,U3!!))$/778Y8YZ%%--d.K.KL""**40889[9[\  ((.66t7W7WX  55==d>k>klrD   c           	         | j                   %	 t        j                  | j                        | _         | j                  j                          d| _        | j                  t        k(  rp| j                  t         k(  r]	 d}	 t#        |      \  }}}|dk(  ry t%                | j                  j'                  | j                   ||      }|dk(  rnd}t)                Y	 | j                  j+                  | j                         }t/        |      dk(  rQt        | | j                  d             | j                   | j                   j                          | j                          t0        j3                  d       	 | j                  j5                  | j                   |      \  | _        | _        }}	| j6                  dk(  rAt        | | j                  d	             | j                   | j                   j                          t0        j3                  d
| j6                  z         t0        j3                  d| j8                  z         t0        j3                  d|z         t0        j3                  d|	z         | j;                          | j=                  t>               | jA                  tB               y # t        $ r}}t        | | j                  d      | j                  t        |j                        fz         | j                   | j                   j                          | j                          Y d }~y d }~ww xY w# t        $ r}| j-                  |       Y d }~y d }~ww xY w# t        $ r}| j-                  |       Y d }~y d }~ww xY w)Nz0<b>Error opening device:</b><p>%s</p><p>(%s)</p>r   z%Enter printer's username and passwordTzIInvalid Username/Password
.Please reenter printer's username and passwordz4<b>Unable to locate wireless hardware on device.</b>zTurning on wireless radio...z*<b>Unable to turn on wireless adaptor.</b>zAdaptor ID: %szAdaptor name: %szAdaptor state: %szAdaptor presence: %s)"r   r   Devicerq   Error	FailureUIr   r   msgcloserz   r   num_networksr   r   r   WIFI_CONFIG_CDM_AUTHrk   r   getCDMTokenr   getWifiAdaptorIDshowIOErrorr   r   debugsetAdaptorPower
adaptor_idr   performScanr   r   r   PAGE_NETWORK)
r=   er#   rtnvalueunamepasswordretadaptor_liststatepresences
             rC   showNetworkPagezWifiSetupDialog.showNetworkPageL  s   88	!==9 	 <<7"t'7'7;O'O@/=f/E,HUH1}#%,,22488UHMCd{jF!O 	<<88BL
 |!dDII&\]^xx# JJL		01	BF,,B^B^_c_g_giuBw>DOT-uh ??b dDII&RSTxx# 		"T__45		$t'7'778		%-.		(834;'&u  $		*\ ]`d`o`oqtuvuzuzq{_| |}88'HHNN$

:  	Q	  	Q	sH   $J% %L. 15M %	L+.A3L&&L+.	M7MM	M9M44M9c                 2   t                	 t        | j                  j                               | _        | j
                  rN| j                  rB	 | j                  j                  | j                  | j                  | j                        | _
        n6	 | j                  j                  | j                  | j                        | _
        | j                  j                          t                | j                  d   | _        | j!                          | j                  r| j"                  j%                  d       | j&                  j)                  t+        dd             | j                  dk(  r+| j,                  j/                  | j1                  d             n7| j,                  j/                  | j1                  d| j                  z               | j3                          y | j"                  j%                  d       | j&                  j)                  t+        d	d             t4        j7                  d
       | j,                  j/                  | j1                  d             y # t        $ r?}| j                  |       Y d }~| j                  j                          t                y d }~ww xY w# t        $ r?}| j                  |       Y d }~| j                  j                          t                y d }~ww xY w# | j                  j                          t                w xY w)NnumberofscanentriesTr   r   r
   z<b>1 wireless network found. </b> If the wireless network you would like to connect to is not listed, try entering a wireless network name and/or press <i>Search</i> to search again.z<b>%d wireless networks found.</b> If the wireless network you would like to connect to is not listed, try entering a wireless network name and/or press <i>Search</i> to search again.Fr   zNo wireless networks found.zo<b>No wireless networks found.</b><br>Enter a wireless network name and/or press <i>Search</i> to search again.)r   r	   SSIDLineEditrN   r{   r|   r   r  r   r   rz   r  r  r	  r   r
  clearNetworksTabler   r   NetworksFoundIconr   r"   NetworksFoundLabelrF   r   loadNetworksTabler   warningr=   r  s     rC   r  zWifiSetupDialog.performScan  s^   	"4#4#4#9#9#;<DI}}$(LL$<$<TXXtGWGWY]YbYb$cDM
$(LL$<$<TXXtGWGW$XDM
 HHNNO MM*?@!OO&&t,"",,[-IJ  A%''//		  ;s  1t  u''//		  ;t  vz  vG  vG  ;G  1H  I""$ OO&&u-"",,['-JKKK56##++DII  7h  -i  j=  $$Q' HHNNO  $$Q'HHNNO HHNNOs[   A K0 A I K0 5J% 	J"#J4K0 J""K0 %	K-.K(?K0 (K--K0 0&Lc                 2    || _         | j                          y rM   )r}   r#  r=   bs     rC   r   z,WifiSetupDialog.ShowExtendedCheckBox_clicked  s     rD   c                 D    | j                          | j                          y rM   )r  r#  rO   s    rC   r   z(WifiSetupDialog.SearchPushButton_clicked  s     rD   c                 L    | | _         | j                  j                  |        y rM   r|   r  r   r'  s     rC   r   z-WifiSetupDialog.UndirectedRadioButton_clicked  s!    $$U+rD   c                 H    || _         | j                  j                  |       y rM   r+  r'  s     rC   r   z+WifiSetupDialog.DirectedRadioButton_clicked  s    $$Q'rD   c                 $   dt        d      c| _        | _        | j                  rt	                	 | j
                  rt        | j                        D ]y  }| j                  d|z     }| j                  d|z     }	 | j                  |    | j                  |   \  | j                  d|z  <   | j                  d|z  <   | j                  d|z  <   { | j                  j                  d       | j                  j                  | j                         | j!                  d      | j!                  d      | j!                  d      | j!                  d      g}| j
                  rQ|j#                  | j!                  d      | j!                  d      | j!                  d      | j!                  d      g       | j                  j%                  t'        |             | j                  j)                  |       t*        j,                  t*        j.                  z  }	t        | j                        D ]  }| j                  d|z     }
|
dk(  rd }n|	}| j                  d|z     }| j                  d|z     }| j                  d|z     }t0        j3                  d||
|||fz         | j
                  r| j                  d|z     }| j                  d|z     }| j                  d|z     }| j                  d|z     }| j                  d|z     }| j                  d|z     }t0        j3                  d|||||||fz         t5        t7        |
            }||j9                  |       |j;                  t*        j<                  |       | j                  j?                  |d|       tA        d|z  d      }| j
                  r+t5        tC        |      | j!                  |dd             }n't5        tC        |      | j!                  d!|z              }||j9                  |       | j                  j?                  |d"|       t5        t7        |            }||j9                  |       | j                  j?                  |d#|       t5        t7        |            }||j9                  |       | j                  j?                  |d$|       | j
                  st5        t7        t7                          }||j9                  |       | j                  j?                  |d%|       t5        t7                    }||j9                  |       | j                  j?                  |d&|       t5        t7                    }||j9                  |       | j                  j?                  |d'|       t5        t7        d(            }||j9                  |       | j                  j?                  |d)|        | j                  jE                          | j                  j                  d*       | j                  jG                  d"t*        jH                         | j                  jK                  d       | j                  jL                  jO                          tQ                | jR                  jU                  d*       y | jR                  jU                  d       y # t        $ r t        j                  ||      }|j                  dd	      x}| j                  d|z  <   |j                  d
d	      x}| j                  d|z  <   |j                  dd	      x}| j                  d|z  <   |||f| j                  |<   Y w xY w# tQ                | jR                  jU                  d*       w xY w)+Nr   rf   zbssid-%dzsignalstrength-%dzlatitude-%dzlongitude-%dz
address-%dlatitudeUnknown	longitudeaddressFzNetwork Name (SSID)zSignal StrengthSecurityModeChannelzAddress (BSSID)LocationzLat/Longzssid-%dz	(unknown)encryptiontype-%dzcommunicationmode-%dz.%d: Name=%s, strength=%s, security=%s, mode=%sz
channel-%dzdbm-%dz8%d: channel=%d bssid=%s dbm=%s lat=%s long=%s address=%ssignal%dr   z/5 ( dBm)z%s/5r
   r   r   r      r   /   T)+r	   nnetworkr
  r   r}   rangerz   r   KeyErrorr   getLocationgetr   r   r   r   extendr   r   r   r   r   r   r   r  ro   r   r   setDataUserRoler   r"   r!   r   r   DescendingOrderr   r  emitr   r   r   )r=   r<  bssidsslocationlatlngr1  r   enabled_flagsr?   r   secmodechndbmr   pixmaps                     rC   r#  z!WifiSetupDialog.loadNetworksTable  s    *R.j1%%"4#4#45 ; $j1n =!]]+>+BC
; //6 !% 3 3E : ADMM-!*;<dmmN]^L^>_aeanano{~o  bA; ((::5A((44T5F5FG99%:;TYYGX=Y IIj1499V3DF %%NNDIIi$8 II&78$))J:O IIj1$3 4 ((77GE((BB7K " 3 3b6F6F Ft001 >BA==Q7D{* $ -':Q'>?B--(;a(?@C==)?!)CDDIIND"c401 2 ))"mmL1,<="mmHqL9 $j1n ="&--q0@"A"mmMA,=>"mmNQ,>?		"\UCc7C#D E )T3A(!**U*;IIbkk1-,,44Q1=(b'BF)),U6]DIIXZ\_F`<ab,U6]DIIfrk<RS(!**U*;,,44Q1=(S2A(!**U*;,,44Q1=(T3A(!**U*;,,44Q1=)),SS]; ,ajj.?0088AqA,SZ8 ,ajj.?0088AqA,S\: ,ajj.?0088AqA,SC1E-FG ,ajj.?0088AqA}>BB ((@@B((::4@((221b6H6HI((2215 ((==BBD **40 OO&&u-M  ( M'+'7'7r'BHEM\\R\^gEhhC$--0A"BGO||T_ajGkkC4==!1C#DHPU^`iHjjGdmmL14D&E:=sG9LD//6MD **40s9   A]( :[	P8]( F?]( B]%!]( $]%%]( ('^c                 l   | j                   j                         }| j                   j                  |d      }t        |j	                  t
        j                              \  }}|rQ| j                  d|z     }|j                         dk(  r| j                  t               y | j                  t               y y )Nr   r6  none)r   
currentRowitem	value_intdatar   rD  rz   lowerr   BUTTON_CONNECTr   )r=   r   rU  r<  okrM  s         rC   r  z8WifiSetupDialog.NetworksTableWidget_itemSelectionChanged=  s    &&113'',,S!4$))BKK012-- 3a 78Cyy{f$"">2"";/ rD   c                     | j                   j                          | j                   j                  d       | j                   j                  d       y r   r   rO   s    rC   r   z"WifiSetupDialog.clearNetworksTableI  r   rD   c                 r    | j                          i | _        t        j                  d| j                         y r   )r   rz   r   r   r  rO   s    rC   RefreshButton2_clickedz&WifiSetupDialog.RefreshButton2_clickedO  s+    !!T112rD   c                 p    | j                   j                  t           j                  | j                         y rM   )ShowKeyCheckBoxtoggledr   r:   ShowKeyCheckBox_toggledrO   s    rC   r   z"WifiSetupDialog.initConfigWifiPageY  s'    $$T*2243O3OPrD   c                    | j                  t               | j                  j                  | j                         t               }|j                  d       | j                  j                  |       | j                  j                  t                      | j                  j                  d       | j                  j                  t        d| j                  z  d             | j                   j                  t        dd             | j"                  j                  t        dd             d	| j$                  j'                         v r| j(                  j                  d
       nSd| j$                  j'                         v r| j*                  j                  d
       n| j*                  j                  d
       | j                  j-                          | j                  j/                  t0        j2                         | j5                  t6               y )N   Fr7  r   r   r   keys32x32wpaTwep)r   rY  	SSIDLabelrF   r=  QFontsetPointSizesetFontKeyLineEditr   r_  r   StrengthIconr   r"   rH  ConfigureIconKeysIconsecurityrX  WPARadioButtonWEPRadioButtonsetFocusr-   r+   r1   r   PAGE_CONFIGURE_WIFI)r=   fonts     rC   showConfigWifiPagez"WifiSetupDialog.showConfigWifiPage]  sp   >*t||,w"t$  '''.##K
TWW0Dg$NO$$[%ABFG <=DMM''))**40dmm))++**40**40!!#$$Y%7%78,-rD   c                     |r*| j                   j                  t        j                         y | j                   j                  t        j                         y rM   )rl  r-   r+   r.   r1   r'  s     rC   ra  z'WifiSetupDialog.ShowKeyCheckBox_toggledu  s9    (()9)9:((););<rD   c                 @   | j                   j                  t           j                  | j                         t        |       | _        | j                  j                  j                  | j                         g | _	        d| _
        | j                   j                  d       y )Nr   r
   )PageSpinBoxvalueChangedintr:   PageSpinBox_valueChangedr   RefreshTimertimeoutRefreshTimer_timeoutpages
page_index
setMinimumrO   s    rC   r   zWifiSetupDialog.initExitPage  su    %%c*2243P3PQ"4L!!))$*C*CD
##A&rD   c           
      L   | j                  t               | j                  j                  d       | j                  j                  d       | j
                  j                  t        | j                               d| _	        d| _
        d\  }}}}g }t        | _        t                	 	 | j                  j                  | j                   | j"                        \  | _	        }}}}	}
}| j                  dk(  rO| j                  t$        k(  s<| j                  j'                  | j                   | j"                        \  | _	        }}	}
}}| j                  j)                  | j                   | j"                        }| j                  j+                  | j                   | j"                  | j                  | j,                        \  }}}}| j                  j/                  | j                         | _
        	 | j                   j5                          t7                	 t:        | _        | j                  dk(  rt        | _        g | _        | j                  t        k(  ra| j>                  jA                  | jC                  dtD        z        tG        dd      f       | jH                  jK                  tD        d	z         n:| j                  t<        k(  r| j>                  jA                  | jC                  d
| j                  z        tG        dd      f       | j                  j                  d       | jL                  j                  d       | jH                  jO                          n| j>                  jA                  | jC                  d| j                  z        tG        dd      f       | j                  j                  d       | jL                  j                  d       | jH                  jO                          |+| jP                  j                  | jC                  d             n$| jP                  j                  t        |             | j                  +| jR                  j                  | jC                  d             n.| jR                  j                  t        | j                               | jT                  j                  t        | j                               | jV                  j                  t        |	             | jX                  j                  t        |
             | j                  j                  d       | jZ                  j                  t        |d|d|d             | j\                  j_                  tG        d|z  d             |D ]  \  }}|s	|j9                         }|ja                  d      rtG        dd      }nH|ja                  d      rtG        dd      }n*|ja                  d      rtG        dd      }ntG        dd      }| j>                  jA                  tc        jd                  dt        |      jg                  d      z        |f        ti        | j>                        }| jj                  jm                  |       | jj                  j                  |dkD         | jj                  jo                  d       | jp                  j                  |dkD         | jr                  j                  |dkD         | jp                  j                  | jC                  dt        |                   d| _:        | jv                  j                  | j>                  | jt                     d          | jx                  j_                  | j>                  | jt                     d          | j{                  t|               y # t0        $ r?}| j3                  |       Y d }~| j                   j5                          t7                y d }~ww xY w# | j                   j5                          t7                w xY w)NFTrv   rf   )r9  r   r   i8a,  <b>Your printer has not been connected to the wireless network.</b> A valid connection to a wireless network can take up to 2 minutes. This screen will automatically refresh every %s seconds.<p>If your printer fails to connect within a reasonable time, there may be a problem with your configuration.r   r   i  zYour printer has been connected to the wireless network and has been assinged a IP. Now run <pre>hp-setup %s</pre>  If IP is not accessible, try again for another IP.r$  zYour printer has been successfully configured on the wireless network. You may now unplug the USB cable. To setup the printer, now run <pre>hp-setup %s</pre>r   r/  r:  z (r8  r7  r   warncritzvsa_%sr   r
   zof %sr   )?r   BUTTON_FINISHr   r   r   SSIDLabel_2rF   r   r=  r   r   r   r   r   r   getIPConfigurationr   r   r   getwifiotherdetailsgetVSACodesgetSignalStrengthr  getHostnamer  r  r	  r   rX  SUCCESS_CONNECTEDSUCCESS_AUTO_IPr  appendr   REFRESH_INTERVALr"   r}  startr   stopAddressModeLabelHostnameLabelIPAddressLabelGatewayLabelDNSLabelSignalStrengthLabelSignalStrengthIconr   
startswithr   queryStringzfillr   ry  
setMaximumsetValue	PageLabel
PageLabel2r  	ExitLabelExitIconr   r   )r=   ss_maxss_minss_valss_dbm	vsa_codes_addressmode
subnetmaskgatewaypridnssec_dnsr  r_   r^   rH  rQ  	num_pagess                     rC   showExitPagezWifiSetupDialog.showExitPage  s   =)""5)$$T*  T\\!23)6&	,	
MQ\\MlMlmqmumuw{  xH  xH  NIK+z7FG77i'<<72UYUaUaUuUuvzv~v~  @D  @P  @P  VQRWfg{ LL44TXXt?O?OP	151O1OPTPXPXZ^ZjZjkokwkwy}  zI  zI  2J.,,22488<
 HHNNO,DL
 77i0DL
<<00JJtyy  *X  [k  *k   l  ny  zA  CJ  nK  L  M##$4t$;<\\_,JJtyy  *R  SW  SZ  SZ  *Z   [  ]h  ir  t{  ]|  }  ~((/OO&&u-""$ JJtyy  *I  JN  JQ  JQ  *Q   R  T_  `f  ho  Tp  q  r((/OO&&u-""$!!))$))I*>?!!))#k*:;77?&&tyy';<&&s477|4##CL1!!#g,/c&k*""4(  ((QW-X)YZ))+j66I7*ST 	\DAqWWY==((9F]]6*(G<F]]6*(':F )9F

!!6#5#5hQa6P#QSY"Z[	\" 

O	##I.##IaK0!!!$!!)A+.""9Q;/tyy#i.ABtzz$//:1=>

4?? ;A >?#c    #HHNNO HHNNOs+   (E ^2 2	_:;_5_= 5_::_= =&`#c                     |dz
  | _         | j                  j                  | j                  | j                      d          | j                  j                  | j                  | j                      d          y )Nr
   r   )r  r  rF   r  r  r   )r=   r   s     rC   r|  z(WifiSetupDialog.PageSpinBox_valueChanged  sU    A#tzz$//:1=>

4?? ;A >?rD   c                 $    | j                          y rM   )r  rO   s    rC   r  z$WifiSetupDialog.RefreshTimer_timeout  s    rD   rf   c                    t                	 	 | j                  j                  | j                  | j                        \  }}}t        j                  d|z         t        j                  d|z         t                t                	 	 | j                  t        k(  rS| j                  j                  | j                  | j                  | j                  | j                  | j                  |       nR| j                  j                  | j                  | j                  | j                  | j                   | j                  |       t                y # t
        $ r%}| j                  |       Y d }~t                y d }~ww xY w# t                w xY w# t
        $ r%}| j                  |       Y d }~t                y d }~ww xY w# t                w xY w)NzCrypto algorithm: %szCrypto mode: %s)r   r   getCryptoSuiter   r   r  r  r   r   r  r   	associatewpaVersionPreferencer=  authenticationModerp  rN  )r=   keyalgrN  secretidr  s         rC   r  zWifiSetupDialog.associate  sl   
	&*ll&A&A$((DL\L\&]#T8
 II,s23II'$./O	<<7*LL**488T5N5NPTP\P\^b^u^uw{  xE  xE  GJ  KLL**488T5E5Et||UYU^U^`d`m`mors
 O+    #
 O O    #O	 OsZ   4E
 0E; B8F
 
	E8E3$E; 3E88E; ;F
	F8F3$F; 3F88F; ;Gc           	      &	   | j                   j                         }|t        k(  r| j                          y |t        k(  r| j
                  j                         }|dk7  r| j
                  j                  |d      j                  | _        t        j                  | j                        | _        | j                  | j                  d          t        j                  | j                        \	  }}}}}}}	}
}t        j                  |      j!                         | _        | j%                          y |t&        k(  rd| _        d| _        d| _        | j.                  j                         }|dk7  r| j.                  j                  |d      }|t1        |j3                               | _        t6        j9                  d| j4                  z         t;        |j=                  t>        j@                              \  | _!        }|r| jD                  jG                  djI                  | jB                              | _        t6        j9                  d| j(                  z         | jD                  jG                  d	jI                  | jB                              | _        t6        j9                  d
| j*                  z         | jD                  jG                  djI                  | jB                              | _        t6        j9                  d| j,                  z         | jD                  jG                  djI                  | jB                              | _%        | jD                  jG                  djI                  | jB                              | _&        | j(                  j!                         dk7  r| jO                          y | jQ                          | jS                          | jU                          y |tV        k(  rUt1        | jX                  j3                               }| jQ                  |       | jS                          | jU                          y |tZ        k(  r7| j\                  | j\                  j_                          | j_                          y t6        ja                  d       y )Nr  r   r   NoneInfrastructurezSelected network SSID: %szencryptiontype-{}zSecurity: %szcommunicationmode-{}zMode: %szsignalstrength-{}zSignal strength: %szwpaVersionPreference-{}zauthenticationMode-{}rS  Invalid page!)1StackedWidgetcurrentIndexr   r   r   r   rT  rU  rq   r   queryModelByURImqgetWifiObjectr   r   normalizeModelNamerX  r   r  r  rp  rN  rH  r   r	   rN   r=  r   r  rV  rW  r   rD  r<  rz   rA  formatr  r  rv  r  showAssociateProgressDialogr  rt  rl  r   r   r	  r   )r=   pr   r   r   r~   r   r   r   r   r   r   r   rZ  r  s                  rC   r   z"WifiSetupDialog.NextButton_clicked"  sT   ++-
?  ",))446Cby"&"9"9">">sA"F"Q"Q 00A""477=#9:PVPePefjfufuPvM%eVXtR#66u=CCE
  ","DM(DIDG**557Cby,,11#q9=#-affh#7DLII9DLLHI!*166"+++>!?JDFB(,(9(9:M:T:TUYU[U[:\(]		.4=="@A$(MM$5$56L6S6STXTZTZ6[$\			*tyy"89"&--"3"34G4N4Ntvv4V"W		"7$''"AB48MM4E4EF_FfFfgkgmgmFn4o126--2C2CD[DbDbcgciciDj2k/}}""$.'')  002!!#%%T--2245CNN3,,.)^xx# JJL IIo&rD   c                    t        | j                  d      | j                  d      dt        |       }|j                  | j                  d             |j	                  t
        j                         |j                  d       |j                          d}t        t              D ]P  }|j                  |       t        j                  d       t        j                          |j                         sNd} n |j                  t               |j!                          |r7| j"                  | j"                  j!                          | j!                          y y )Nz9Waiting for printer to connect to the wireless network...Cancelr   z"HP Device Manager - Please wait...Fr
   T)QProgressDialogr   ASSOCIATE_DELAYrV   setWindowModalityr   WindowModalsetMinimumDuration	forceShowr>  r  QThreadsleepr[   processEventswasCanceledr	  r   )r=   AssociateProgressDialogcanceledxs       rC   r  z+WifiSetupDialog.showAssociateProgressDialogc  s*   "1$))<w2xz~  {D  {D  EM  {N  PQ  Sb  dh  #i..tyy9]/^_11"..A2215))+' 	A#,,Q/MM! &224	 	 ((9%%'xx# JJL	 rD   c                    | j                   j                         }|t        k(  ri | _        | j	                          y |t
        k(  r| j                          y |t        k(  r| j                          y |t        k(  rY| j                  j                          | j                  j                         dk7  r| j                          y | j                          y t        j!                  d       y )NrS  r  )r  r  r   ry   r   r  r   rt  r  r   r}  r  rp  rX  rv  r   r   r=   r  s     rC   r   z"WifiSetupDialog.BackButton_clicked}  s    ++-DL ,  "%%  ")^""$}}""$.'')$$& IIo&rD   c                 p    | j                   | j                   j                          | j                          y rM   )r   r	  rO   s    rC   r   z$WifiSetupDialog.CancelButton_clicked  s#    88HHNN

rD   c                 \    | j                   j                  |       | j                  |       y rM   )r  setCurrentIndexupdateStepText)r=   pages     rC   r   zWifiSetupDialog.displayPage  s$    **40D!rD   c                 <   |t         k(  r+| j                  j                  | j                  d             y |t        k(  r+| j                  j                  | j                  d             y |t
        k(  r+| j                  j                  | j                  d             y y )NzNext >FinishConnect)r   r   rF   r   r  rY  )r=   typs     rC   r   zWifiSetupDialog.setNextButton  sp    +OO##DIIh$78M!OO##DIIh$78N"OO##DIIi$89 #rD   c           	          | j                   j                  | j                  d|dz   d| j                  dz                y )NzStep r
   z of )StepTextrF   r   r   r  s     rC   r  zWifiSetupDialog.updateStepText  s.    dii1Q3a(PQRrD   c           	          t        | | j                  dt        |j                        z               | j                  | j                  j                          | j                          y )Nzf<b>An I/O error occurred.</b><p>Please check the USB connection to your printer and try again.</p>(%s))r  r   r   r  r   r	  r%  s     rC   r  zWifiSetupDialog.showIOError  si    $		  #K  NQ  RS  RW  RW  NX  #X  Y  	Z88HHNN

rD   c                 0    t         j                  d||      S )Nrs   rZ   r]   s      rC   r`   zWifiSetupDialog.__tr  s    ~~/!44rD   c                     || _         |t        k(  rt        | _        y |t        k(  s	|t
        k(  rt        | _        y t        | _        y rM   )r   r   r   r   WIFI_CONFIG_CDMr  r   r   )r=   r   s     rC   r  zWifiSetupDialog.getWifiObject  s8    &**#DLO+{>R/R"DLDLrD   NTrM   )-ra   rb   rc   
pyqtSignalr  r   r   r   r   r   r   r   r   r   r   r  r  r   r   r   r   r#  r  r   r]  r   rv  ra  r   r  r|  r  r	   r  r   r  r   r   r   r  r   r  r  r   r  rd   rD   rC   rs   rs      s    %<1F({%G+'\-:23m>'B%jP!
!
,
(
q.h	023Q.0='f$R@ 'rN B>'B4'."
 !. :S5
 rD   rs   r  ))r   r   base.gr   r   r   r   r   r   
base.codesbase.sixextr	   ui_utilsr   r   r   r   r   PyQt5.QtCorePyQt5.QtGuiwifisetupdialog_baser   r   r   r  rt  r   r   r  rY  r   r  r  r  r  r   r   rk   ro   rm   rs   rd   rD   rC   <module>r     s   .    8 8  #  b b   , 
 	    =1W =1~"%, %p gy p rD   