3 gϮ@s(ddlmZddlZddlZejdddZeedsd?Z:e;d@kr$e:dS)A)geteuidNzrhn-client-toolsT)Zfallbackugettext)rhnreghardware) up2dateErrors) up2dateUtils)pkgUtils) up2dateLog)config)convert_url_from_puny) up2dateAuth)rpclib)idn_puny_to_unicode)sstr)PM_PLUGIN_NAMEPM_PLUGIN_CONF)*cCs&tj|tttd|ttgdS)Nz%s)snackButtonChoiceWindowrERRORBACK)screenerrmsgr/usr/lib/python3.6/tui.py ErrorWindow/srcCs8tj|tttd|ttg|jtjddS)Nz%s)rrrZ FATAL_ERROROKfinishsysexit)rrrrrFatalErrorWindow3s r!cCs.tj|tttd|ttg|jdS)Nz%s)rrrWARNINGrr)rrrrr WarningWindow9s r#cCstj|ttttdttdttdttdttdtt dtt dtt dtt dtt dttttttgdd}|ttjkr|jdSdSdS)N z F)widthrr)rrrZ CONFIRM_QUITZCONFIRM_QUIT_SUREWHY_REGISTER_SECWHY_REGISTER_SEC_TXTWHY_REGISTER_DLDWHY_REGISTER_DLD_TXTWHY_REGISTER_SUPPWHY_REGISTER_SUPP_TXTWHY_REGISTER_COMPWHY_REGISTER_COMP_TXTZCONFIRM_QUIT_WILLNOTWHY_REGISTER_TIPZCONTINUE_REGISTERINGZREGISTER_LATER2lowerr)rbuttonrrrConfirmQuitWindow?s vr2c Gsy ||}Wntjk rDt|ttjdtjdYntjk rpt||j tjdYntj k rtjd}t ||j dt t jt jt jfYn:tjk rtjd}t||j dt|YnX|S)Nrrr$z )rCommunicationErrorrZHOSTED_CONNECTION_ERRORr getServerlURLrexc_infoZSSLCertificateVerifyFailedErrorrZNoBaseChannelErrorr!ZBASECHANNELERRORrgetArchZ getOSRelease getVersionZSSLCertificateFileNotFoundZSSL_CERT_FILE_NOT_FOUND_ERRER)rfuncZparamsresultserrrtui_call_wrapperVs(       r;c@s eZdZdS)WindowSkipExceptionN)__name__ __module__ __qualname__rrrrr<nsr<c@s(eZdZdZddZddZddZdS)AlreadyRegisteredWindowc Cs<tj s|jrt||_||_tjj}t j j t j }|ddd}|ddd}tj|jttdd}tj|jttdfttdfg|_|j|jddddtj|dd |dd ttd td d t|jjdtdd |dtdd |d tddd}|j|dddd||_dS)NrZusername system_idrnextr )growxz zSpacewalk Location: r$zLogin:z System ID:)padding)rrrr)rZ registeredtestr<rtuir_snacksizer Z xmlrpclibloadsr Z getSystemIdGridFormrSYSTEM_ALREADY_SETUP ButtonBarYES_CONT NO_CANCELbbaddTextboxZSYSTEM_ALREADY_REGISTERED_r serverURLSYSTEM_ALREADY_REGISTERED_CONTg) selfrrJrLZ systemIdXmlZ oldUsernameZ oldsystemIdtopleveltbrrr__init__ts&  Tz AlreadyRegisteredWindow.__init__cCsdS)Nr)rZrrr saveResultssz#AlreadyRegisteredWindow.saveResultscCs6tjd|j|jj}|jj|}|dkr2dS|S)Nz Running %sF12rC)log log_debugnamerYrunOncerS buttonPressed)rZresultr1rrrruns   zAlreadyRegisteredWindow.runN)r=r>r?rbr]r^rfrrrrr@qsr@c@s0eZdZdZddZddZddZddZd S) SatelliteUrlWindowc Cs||_||_d|j_t|jj|_tj|j}||jkrR||_tj |jt j t j j}t j|ttdd}t}t}t}t j|dddt|ddd} |j| ddddt jtd} |j| ddt jd d} t jt|} | j| ddddd t jd |_|jj|j| j|jddddt jt|} | j| ddddd t jd |_|jj|j| j|jdddd|j| dd t j|tt d ftt!d ftt"dfg|_#|j|j#ddddd||_$dS)Nrr )scrollwrap) anchorLeftrB)rH anchorRight(rCbackcancel)rHrD)rrrr)rrrr)rrrr)%rrJalreadyRegisteredr rWserverrmakeNiceServerUrlr setServerURLcfgsaverrKrLrNrZSATELLITE_URL_WINDOWZSATELLITE_URL_TEXTZSATELLITE_URL_PROMPTZSATELLITE_URL_PROMPT2rUrTLabelGridsetFieldEntryurlEntrysetsslEntry sslCACertrPNEXTrCANCELrSrY) rZrrJfixed_server_urlrLr[Z prompt_textZ url_labelZ ssl_labellabelgridrrrr]sT             zSatelliteUrlWindow.__init__cCs|jjdkrBtj|jttttttgd|j j |jdS|jjdddkr|j jdkrtj|jtttt ttgd|j j |j dSdS)Nrn)buttonsrZhttpsr) r}valuerrrrrZSATELLITE_REQUIREDrrY setCurrentrZ SSL_REQUIRED)rZrrrvalidateFieldssz!SatelliteUrlWindow.validateFieldscCs\|jj}tj|}||kr |}||j_|jj|j_tj |tj |jjt j dS)N) r}rrrurJrWrrr rvZ setSSLCACertrwrx)rZZ serverEntryrrrrr^s   zSatelliteUrlWindow.saveResultscCsltjd|j|jjd}x>|s\|jj}|jj|}|dkrFd}|dkrX|j }q Pq W|jj |S)Nz Running %srr_rC) r`rarbrrefreshrYrfrSrdr popWindow)rZvalidrer1rrrrfs     zSatelliteUrlWindow.runN)r=r>r?rbr]rr^rfrrrrrgs A rgc@s(eZdZdZddZddZddZdS)*AlreadyRegisteredSubscriptionManagerWindowcCstj s|jrt||_||_tjj}tj |jt t dd}tj |jt t dft tdfg|_|j|jddddtj|dd|ddt td td td dd}|j|ddd d ||_dS) NrrBrCr r)rDrErFz r$)rH)rrrr)rZrhsm_registeredrIr<rrJrrKrLrNrrOrPrQrRrSrTrUr"ZRHSM_SYSTEM_ALREADY_REGISTEREDrXrY)rZrrJrLr[r\rrrr]s   z3AlreadyRegisteredSubscriptionManagerWindow.__init__cCsdS)Nr)rZrrrr^2sz6AlreadyRegisteredSubscriptionManagerWindow.saveResultscCs6tjd|j|jj}|jj|}|dkr2dS|S)Nz Running %sr_rC)r`rarbrYrcrSrd)rZrer1rrrrf5s   z.AlreadyRegisteredSubscriptionManagerWindow.runN)r=r>r?rbr]r^rfrrrrrsrc@s(eZdZdZddZddZddZdS) ConnectWindowcCs||_||_tjj}t|jj|_td|_ tj |jt t dd}t |jd}|j rf|t|j 7}tj|dd|ddt |dd}|j|dddd||_dS) NZ httpProxyrz rrErF)rH)rrrr)rrJrrKrLr rWrtrwproxyrNrZCONNECT_WINDOWZCONNECT_WINDOW_TEXTZCONNECT_WINDOW_TEXT2rUrTrY)rZrrJrLr[textr\rrrr]Cs  zConnectWindow.__init__c CsPtjd|j|jj}|jjyt|jtj Wn dS|jj dS)Nz Running %srqrC) r`rarbrYdrawrrr;rZgetCapsr)rZrerrrrf\s   zConnectWindow.runcCsdS)Nr)rZrrrr^qszConnectWindow.saveResultsN)r=r>r?rbr]rfr^rrrrr@src@s(eZdZdZddZddZddZdS) StartWindowcCs||_||_tjj}tj|jttdd}tt}tj |dd|dd|dd}|j |ddd dtj |jtt dftt dfttd fg|_|j |jdddd ||_dS) NrrBrri)rH why_registerrCrr)rD)rrrr)rrJrrKrLrNrZSTART_REGISTER_WINDOWZSTART_REGISTER_TEXTrUrTrPZ WHY_REGISTERrrrSrY)rZrrJrLr[Zstart_register_textr\rrrr]ws "  zStartWindow.__init__cCsdS)Nr)rZrrrr^szStartWindow.saveResultscCsXtjd|j|jj}|jj|}|dkr2dS|dkrTt|j|j }|j |S|S)Nz Running %sr_rCr) r`rarbrYrcrSrdWhyRegisterWindowrrJrf)rZrer1Z why_reg_winrrrrfs  zStartWindow.runN)r=r>r?rbr]r^rfrrrrrtsrc@s eZdZdZddZddZdS)rcCs||_||_tjj}tj|jttdd}tdt dt dt dt dt dtdtdtdt}tj|dd|ddt|dd}|j|ddd dtj|jttd fg|_|j|jdddd ||_dS) NrrBz r$rrir)rHrq)rD)rrrr)rrJrrKrLrNrZWHY_REGISTER_WINDOWZWHY_REGISTER_TEXTr'r(r)r*r+r,r-r.r/rUrTrPZ BACK_REGISTERrSrY)rZrrJrLr[Zwhy_register_textr\rrrr]s  F&zWhyRegisterWindow.__init__cCs*tjd|j|jj}|jj|}|S)Nz Running %s)r`rarbrYrcrSrd)rZrer1rrrrfs  zWhyRegisterWindow.runN)r=r>r?rbr]rfrrrrrsrc@s0eZdZdZddZddZddZddZd S) InfoWindowc Cs||_||_d|j_|jj|_tjj}tj|t t dd}t |j}|j}||jkrb|d|7}t |}t }t} tj|dddt |ddd} |j| ddddtjd d} tjt |} | j| ddddd tjd |_|jj|j| j|jddddtjt t} | j| ddddd ytjd dd |_Wn&tk r\tjd dd |_YnX|jj|j| j|jdddd|j| ddtj|ddt | } |j| dd ddtj|t tdft tdft t dfg|_!|j|j!ddddd||_"dS)Nrrrhz (%s)rirj)rkrl)rmrB)rHrorF)password)ZhiddenrCrqrr)rHrD)rrrr)rrrr)rrrr)#rrJrsrWrtrrKrLrNrZREGISTER_WINDOWr Z LOGIN_PROMPTZLOGINZ LOGIN_TIPrUrTrzryr{r| userNameEntryr~userNameZPASSWORD passwordEntry TypeErrorrTextboxReflowedrPrrrrSrY) rZrrJrLr[Zdecoded_serverZurlZ login_promptZ login_labelZ login_tiprrrrrr]sV            zInfoWindow.__init__c CsL|jjdkrBtj|jttttttgd|j j |jdS|j jdkrtj|jtttt ttgd|j j |j dSy t j|jj|j j|j_Wntjk rtjd}tj|jttdttdt|jttdgd|j j |jdStjk rFtjd}t|jtd|jYnXdS) Nrn)rrrErrorzThe server indicated an error: rz?There was an error communicating with the registration server: )rrrrrrrZ USER_REQUIREDrrYrrZPASSWORD_REQUIREDrZ reserveUserrJrsrZValidationErrorrr5rVrr3r!)rZr:rrrr s.  8 zInfoWindow.validateFieldscCs |jj|j_|jj|j_dS)N)rrrJrrr)rZrrrr^%szInfoWindow.saveResultscCsltjd|j|jjd}x>|s\|jj}|jj|}|dkrFd}|dkrX|j }q Pq W|jj |S)Nz Running %srr_rC) r`rarbrrrYrfrSrdrr)rZrrer1rrrrf)s     zInfoWindow.runN)r=r>r?rbr]rr^rfrrrrrs @rc@s0eZdZdZddZddZddZddZd S) OSReleaseWindowcCsx||_tjstjdttj|j|j|_ t |j ddkrRtjdt||_ t j j|_d|_t j|j ttdd}||_t j|jddtt|_|j|jdddd tt}|jjrt j|ddd |_nt j|d|_|j|jddddd t jtt|_|j|jdd dd t j|jdd d|jddd|_|j|jddxRt |j dj!dddD]4\}}||j dkr|d}|jj"d||qtWt j|jddtt#|_$|j|j$dddd tt%}|jj&rt j||jdd |_&nt j||j|_&|j|j&ddddd t j'|tt(dftt)dftt*dfg|_+|j|j+dddd|j j,dS)Nz5Server does not support EUS, skipping OSReleaseWindowchannelsrz3No available EUS channels, skipping OSReleaseWindowFrri)rm)isOn)rHrmrB)r&rjcSs|dS)Nrr)arrrjsz*OSReleaseWindow.__init__..)keyZreceiving_updatesrrGrhrrCrqrr)rD)rrrr)rrrr)-rJrZserver_supports_eusr`rar<ZgetAvailableChannelsrravailable_channelslenrrrKrLZ selectChannelrNrZSELECT_OSRELEASErYrZ OS_VERSIONZostextrTZLIMITED_UPDATESlimited_updates_buttonZSingleRadioButtonryZ MINOR_RELEASEZsublabelZListbox channelListsorteditemsappendZCHANNEL_PAGE_TIPZtipZ ALL_UPDATESall_updates_buttonrPrrrrSr)rZrrJr[Z optiontext1rrZ optiontext2rrrr]@sb   $    zOSReleaseWindow.__init__cCsptjd|j|jjd}xB|dkr`|jj}|jj|}|dkrJd}|dkr\|j }q Pq W|jj |S)Nz Running %srrr_rC) r`rarbrrrYrfrSrdrr)rZrrer1rrrrfs      zOSReleaseWindow.runcCsd}d}|jjr&|jj|jdk}tt}|rdtj|j |tt |jjtt tt gd}|S|j jsr|rtj|j |tttt tt gd}|S|S)NokFZdefault_channel)r)rselectedrcurrentrrZCONFIRM_OS_RELEASE_SELECTIONrrrZCONFIRM_OS_WARNINGrrrZCONFIRM_OS_ALL)rZZmsgboxZ later_releasetitlerrrrs     zOSReleaseWindow.validateFieldscCsz|jjjdd|jjrVtjd|jj|jj|jjd<|jj|j_d|j_ |j jrv|j j|j_ d|j_dS)NchannelzSelected Channel %sr) rJotherpoprrr`rarrr)rZrrrr^s  zOSReleaseWindow.saveResultsN)r=r>r?rbr]rfrr^rrrrr=s Mrc@s(eZdZdZddZddZddZdS)HardwareWindowc Cs||_||_tjj}tj\}}|dk rB||jjd<||jjd<tj |_tj |t t dd}tj dt t}|j|ddddtjdd}tjt td } |j| ddd.dd tjd |_|j|jdddd|j|dddd|jrtjt tdd |_ntjt t|_|j|jddd/dd tjt t} |j| dddd0dtjdd}d} | tdt tjd7} tjt td|_|j|jddd1dd tjt tj|_|j|jdddd| td7} x.|jD]$} | ddkr| | dd7} qW| td7} xb|jD]X} | ddkrt| d} | | d7} |j dkr`|jj!|j n|jj!t | qW| td7} x6|jD],} | ddkr| td| dd7} qW| td7} xT|jD]J} | ddkr| d r| | d d7} n| d!r| | d!d7} qW| td"7} x2|jD](} | dd#kr0| td$| d%7} q0Wtj d&t | } |j| ddtj |dd't t"|_#|j|j#dd(d2dd tj$|t t%d)ft t&d*ft t'd+fg|_(|j|j(dd,d3dd-||_)dS)4N virt_uuid virt_typerrr%r)rmrBz Profile name:)rHrorp)r)rHrmrj)rmrHrhrnz Version: z z CPU model: classZCPUZmodelr$z Hostname: ZNETINFOZhostnamez CPU speed: z%d MHzZspeedz IP Address: ZipaddrZip6addrzMemory: ZMEMORYz %s megabytesZramPrirrCrqrrr)rHrD)rrrr)rrrr)rrrr)rrrr)rrrr)rrrr)*rrJrrKrLrZ get_virt_inforrZHardwarerNrZHARDWARE_WINDOWrZHARDWARE_WINDOW_DESC1rTrzryrVr{r| profileEntryincludeHardwareCheckboxZHARDWARE_WINDOW_CHECKBOXhardwareButtonZDESELECTrr7Z versionLabelZ versionLabel2r profileNamer~ZHARDWARE_WINDOW_DESC2ZadditionalHWLabelrPrrrrSrY)rZrrJrLrrr[rrrZ hardware_textZhwZunicode_hostnamer\rrrr]s                         zHardwareWindow.__init__cCs |jj|j_|jj|j_dS)N)rrrJrrrr)rZrrrr^5szHardwareWindow.saveResultscCs6tjd|j|jj}|jj|}|dkr2dS|S)Nz Running %sr_rC)r`rarbrYrcrSrd)rZrer1rrrrf9s   zHardwareWindow.runN)r=r>r?rbr]r^rfrrrrrsnrc@s0eZdZdZddZddZddZddZd S) PackagesWindowc Cs||_||_tjj}tj|ttdd}||_tj |ddtt }|j |ddddtj tt d|_|j |jdddddtjtt}|j |ddddtj|ddd|_|j |jdd |jgkrJtj|ttdd|_tjd d |_|jj |jdd|jj|jjd}tjd r2d}tj|d |_|jjxL|jD]B}|jjdt|dt|dt|dft|dddqRWtj|tt dftt!dftt"dfg|_#|j |j#ddddddS)Nrrrri)rm)rHrmrBrjrpdZsupportsExtendedPackageProfile)r6z%s-%s-%srbversionrelease)itemrrCrqrrrh)rHrD)rrrr)rrrr)$rrJrrKrLrNrZPACKAGES_WINDOWrYrZPACKAGES_WINDOW_DESC1rTrZPACKAGES_WINDOW_DESC2packagesButtonryZPACKAGES_WINDOW_UNCHECKZ CheckboxTree packageListZPACKAGES_WINDOW_PKGLISTpwinScalescalerrrrwrZgetInstalledPackageListrrrPrrrrS) rZrrJrLr[rrr6packagerrrr]EsJ           zPackagesWindow.__init__cCs4|jjt|d|d|jj|jjdS)Ng?r)rr~intrrrr)rZamounttotalrrrsetScale{s zPackagesWindow.setScalecCsH|jj|j_|jj}x*|jjD]}|d|kr"|jjj|q"WdS)Nrb)rrrJincludePackagesrZ getSelectionselectedPackagesr)rZZ selectionZpkgrrrr^s   zPackagesWindow.saveResultscCs6tjd|j|jj}|jj|}|dkr2dS|S)Nz Running %sr_rC)r`rarbrYrcrSrd)rZrer1rrrrfs   zPackagesWindow.runN)r=r>r?rbr]rr^rfrrrrrBs 6rc@s(eZdZdZddZddZddZdS) SendWindowcCs||_||_tjj}tj|ttdd}tj|ddtt }|j |ddtj |tt dftt dfttdfg|_|j |jddd dd||_dS) NrrBrrCrqrr)rHrD)rrrr)rrJrrKrLrNrZ SEND_WINDOWrZSEND_WINDOW_DESCrTrPrrrrSrY)rZrrJrLr[rrrrr]s   zSendWindow.__init__cCsdS)Nr)rZrrrr^szSendWindow.saveResultscCs6tjd|j|jj}|jj|}|dkr2dS|S)Nz Running %sr_rC)r`rarbrYrcrSrd)rZrer1rrrrfs   zSendWindow.runN)r=r>r?rbr]r^rfrrrrrsrc@s0eZdZdZddZddZddZddZd S) SendingWindowcCsP||_||_tjj}tj|ttdd|_tj dd|_ |jj |j dddS)Nrrprr) rrJrrKrLrNrZSENDING_WINDOWrrrrT)rZrrJrLrrrr]s  zSendingWindow.__init__c%Cstjd|j|jj|jjd}yPtjdt|jj t j |jj |jj |jj|jj d}|j}t|d}Wn(tjk rtjd}t|jtd|jYntjk rtjd}t|jtd|jYntjk rtjd}t|jtd|jYntjk rVtjd}t|jtd|jYnLtjk rxt|jtYn*tjtjt|jtdYnXt j|st|jtd|jdd t j |_!|jd d |jj"rbyt j#||jj$Wnbtjk r8tjd}t|jtd |jYn*tjtjt|jtd YnX|jd d |jj%ryt j&||jj'Wnbtjk rtjd}t|jtd|jYn*tjtjt|jtdYnXd}y t(j)}Wn,tjk r,t|jtjdYnXt j*|yt j+\|j_,|j_-WnHt.k rtjd}t/|jtdt0t1f|jd|j_2YnXt j3|jd d |jj4||j_5dS)Nz Running %sz other is %s)rrArzProblem registering system: zProblem registering system.z&Problem writing out system id to disk.rhrBz"Problem sending hardware profile: z!Problem sending hardware profile.rjzProblem sending package list: zProblem sending package list.z%Could not open %s %s is not enabled. rC)6r`rarbrrrrstrrJrrZregisterSystem2rrrZrawDictrrr3rr5r!rVrZRhnUuidUniquenessErrorZInsuffMgmntEntsErrorZRegistrationDeniedErrorZActivationKeyUsageLimitErrorZACT_KEY_USAGE_LIMIT_ERRORZ log_exceptionZ writeSystemIdrZ getOemInfooemInforZ sendHardwarerrZ sendPackagesrr ZupdateLoginInfoZ sendVirtInfoZ pluginEnablepm_plugin_presentpm_plugin_conf_changedIOErrorr#rrpm_plugin_conf_errorZspawnRhnCheckForUIrreg_info)rZrZsystemIdr:Zlirrrrfs                       zSendingWindow.runcCsdS)Nr)rZrrrr^.szSendingWindow.saveResultscCs4|jjt|d|d|jj|jjdS)Ng?r)rr~rrrrr)rZrrrrrr1s zSendingWindow.setScaleN)r=r>r?rbr]rfr^rrrrrrs  krc@s(eZdZdZddZddZddZdS) FinishWindowcCs||_||_tjj}tj|ttdd}tj|ddtt }|j |ddtj |tt ddfg|_ |j |j ddddd||_dS) NrrBr ZFinishrC)rHrD)rrrr)rrJrrKrLrNrZ FINISH_WINDOWrZFINISH_WINDOW_TEXT_TUIrTrPrVrSrY)rZrrJrLr[rrrrr]:s  zFinishWindow.__init__cCsdS)Nr)rZrrrr^MszFinishWindow.saveResultscCs6tjd|j|jj}|jj|}|dkr2dS|S)Nz Running %sr_rC)r`rarbrYrcrSrd)rZrer1rrrrfQs   zFinishWindow.runN)r=r>r?rbr]r^rfrrrrr7src@s(eZdZdZddZddZddZdS) ReviewWindowc Cs"||_||_|j|_tjj}tj|ttdd}d}|jj sJ|t d7}|jj r^|t d7}|jj rr|td7}|td7}t|jddkrd}x|jdD]}||d7}qWtdtdd}tjd |jj|t7}|||d7}t|jd dkrld} xP|jd D]B} | d kr2| td7} n$| d krJ| td7} n | | d7} qW|t| d7}t|jd dkrd} x|jd D]} | | 7} qW|t| 7}tj|dd|ddt|dd|_|j|jddddtj|ttdfg|_ |j|j ddddd||_!dS)NrrBrnz rrr$z%s zserver type is %s Z system_slotsZenterprise_entitledZvirtualization_hostZuniversal_activation_keyrir)rHrC)rHrD)rrrr)rrrr)"rrJrrrKrLrNrZ REVIEW_WINDOWrZPM_PLUGIN_WARNINGrZPM_PLUGIN_CONF_ERRORrZPM_PLUGIN_CONF_CHANGEDZREVIEW_WINDOW_PROMPTrZCHANNELS_TITLEZ OK_CHANNELSr`ra serverTypeZCHANNELS_SAT_WARNINGZ MANAGEMENTZVIRTZSLOTSZACTIVATION_KEYrUZ review_windowrTrPrrSrY) rZrrJrLr[Zreview_window_textZ channel_listrrZ slot_listZslotZ act_key_listZact_keyrrrr]]sT        (zReviewWindow.__init__cCsdS)Nrr)rZrrrr^szReviewWindow.saveResultscCsNtjd|j|jj}|jj|}|dkr2d}|jjs>d}|jj rJd}|S)Nz Running %sr_rCr ) r`rarbrYrcrSrdrJrr)rZrer1rrrrfs  zReviewWindow.runN)r=r>r?rbr]r^rfrrrrrZs?rc@s8eZdZdZddZddZddZdd Zd d Zd S) TuiZRHN_REGISTER_TUIcCs||_||_tjj|_|jd|_ytj|_ Wn$t j k rXt |t dYnXtttttttttttttg |_tjd|_tdstj ddtd|_!dS)Nrz"You specified an invalid protocol.z Only https and http are allowed.rz'/usr/share/rhn/CLN-ORG-TRUSTED-SSL-CERTzBYou specified an invalid protocol.Only https and http are allowed.)"rrIrrKrL drawFramersrZ getServerTyperrZInvalidProtocolErrorr!rVrr@rrgrrrrrrrrrwindowsr r4rWrwr~r)rZrrIrrrr]s6  z Tui.__init__cCs|jjdS)N)rr)rZrrr__del__sz Tui.__del__cCs4t|_|jjddt|j|jjttddS)NrzL / between elements | selects | next screen)ZCOPYRIGHT_TEXTZ welcomeTextrZ drawRootTextrZ pushHelpLinerV)rZrrrrsz Tui.drawFramec Cs~d|_d|_i|_ddddddddddd |_i|_d|jd<d|_d|_d|_d|_d|_ g|_ g|_ d|_ d|_ d|_dS)Nrn) Zentitlement_numZregistration_numZ first_name last_nameZcompanyZaddressZcitystatezipZcountryZregistration_numberrr)rrrZ productInforrrrrrrrrrr)rZrrr initResultss2  zTui.initResultscCsRtjd|j|jd}z"d}x|t|jkrr?rbr]rrrrfrrrrrs !!rcCs~d}tjtjtjttjdkrBtjddks>tjddkrBd}tj}tdkrh| rht |t dt ||}|j dS)Nrrz-tz--testz2You must run the RHN registration program as root.) signalSIGINTSIG_IGNrrargvrZ SnackScreenrr!rVrrf)rIrrJrrrmain5s r__main__)<osrrgettextZ translationthasattrrrVrrZup2date_clientrrrrrr r Zup2date_client.configr r Zrhnr Zrhn.connectionsrZrhn.i18nrZup2date_client.pmPluginrrZup2date_client.rhnreg_constantsZinitLogr`ZinitUp2dateConfigrwrr!r#r2r; Exceptionr<r@rgrrrrrrrrrrrrrrr=rrrrsd            /w)4))w~P$#S