HEX
Server: Apache
System: Linux a16-asgard6.hospedagemuolhost.com.br 5.14.0-570.52.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 15 06:39:08 EDT 2025 x86_64
User: maoristu4c3dbd03 (1436)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //lib/python3.9/site-packages/up2date_client/__pycache__/tui.cpython-39.pyc
a

c8hͮ�@s(ddlmZddlZddlZejddd�Zeed�s<eje_ejZddl	Z	ddl
Z
ddlmZm
Z
ddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZmZddlTe� �Z!e�"�Z#dd�Z$dd�Z%dd�Z&dd�Z'dd�Z(Gdd�de)�Z*Gd d!�d!�Z+Gd"d#�d#�Z,Gd$d%�d%�Z-Gd&d'�d'�Z.Gd(d)�d)�Z/Gd*d+�d+�Z0Gd,d-�d-�Z1Gd.d/�d/�Z2Gd0d1�d1�Z3Gd2d3�d3�Z4Gd4d5�d5�Z5Gd6d7�d7�Z6Gd8d9�d9�Z7Gd:d;�d;�Z8Gd<d=�d=�Z9d>d?�Z:e;d@k�r$e:�dS)A�)�geteuidNzrhn-client-toolsT)�fallback�ugettext)�rhnreg�hardware)�
up2dateErrors)�up2dateUtils)�pkgUtils)�
up2dateLog)�config)�convert_url_from_puny)�up2dateAuth)�rpclib)�idn_puny_to_unicode)�sstr)�PM_PLUGIN_NAME�PM_PLUGIN_CONF)�*cCs&t�|tt�td|�tt�g�dS�N�%s)�snack�ButtonChoiceWindowr�ERROR�BACK��screen�errmsg�r�6/usr/lib/python3.9/site-packages/up2date_client/tui.py�ErrorWindow/s�rcCs8t�|tt�td|�tt�g�|��t�d�dS)Nr�)rrrZFATAL_ERROR�OK�finish�sys�exitrrrr�FatalErrorWindow3s
�r%cCs.t�|tt�td|�tt�g�|��dSr)rrr�WARNINGr!r"rrrr�
WarningWindow9s�r'cCs�tj|tt�tt�dtt�dtt�dtt�dtt�dtt	�dtt
�dtt�dtt�dtt
�dtt�tt�tt�gdd�}|tt���kr�|��dSdSdS)N�
�

�F��widthr r)rrrZCONFIRM_QUITZCONFIRM_QUIT_SURE�WHY_REGISTER_SEC�WHY_REGISTER_SEC_TXT�WHY_REGISTER_DLD�WHY_REGISTER_DLD_TXT�WHY_REGISTER_SUPP�WHY_REGISTER_SUPP_TXT�WHY_REGISTER_COMP�WHY_REGISTER_COMP_TXTZCONFIRM_QUIT_WILLNOT�WHY_REGISTER_TIPZCONTINUE_REGISTERINGZREGISTER_LATER2�lowerr")r�buttonrrr�ConfirmQuitWindow?s^
����������������	�	�
��r8cGs�z||�}Wn�tjyBt|tt��d�t��d�Yn�tjylt||j	�t��d�Yn�tj
y�t��d}t||j	dtt
��t
��t
��f�Yn8tjy�t��d}t||j	dt�|�Yn0|S)Nrr r(r))r�CommunicationErrorrZHOSTED_CONNECTION_ERRORr�getServerURLr#�exc_infoZSSLCertificateVerifyFailedErrorrZNoBaseChannelErrorr%ZBASECHANNELERRORr�getArchZgetOSRelease�
getVersionZSSLCertificateFileNotFoundZSSL_CERT_FILE_NOT_FOUND_ERRER)r�func�params�results�errr�tui_call_wrapperVs.��
�
rBc@seZdZdS)�WindowSkipExceptionN)�__name__�
__module__�__qualname__rrrrrCnsrCc@s(eZdZdZdd�Zdd�Zdd�ZdS)�AlreadyRegisteredWindowc	Cs:t��r|jrt��||_||_tj��}t	j
�t�
��}|ddd}|ddd}t�|jtt�dd�}t�|jtt�dftt�dfg�|_|j|jdddd�t�|dd	|dd
ttdtd�d
t|jj�dtd�d
|dtd�d
|dtd�dd�}|j|dddd�||_dS)Nr�username�	system_idr ��nextr$��growx��r)zSpacewalk Location:� r(zLogin:z
System ID:�rrrr ��padding)rZ
registered�testrCr�tuir�_snack�sizerZ	xmlrpclib�loadsr
ZgetSystemId�GridFormr�SYSTEM_ALREADY_SETUP�	ButtonBar�YES_CONT�	NO_CANCEL�bb�add�TextboxZSYSTEM_ALREADY_REGISTERED�_r�	serverURL�SYSTEM_ALREADY_REGISTERED_CONT�g)	�selfrrUrWZsystemIdXmlZoldUsernameZoldsystemId�toplevel�tbrrr�__init__tsb


����
�������������z AlreadyRegisteredWindow.__init__cCsdS�Nr�rerrr�saveResults�sz#AlreadyRegisteredWindow.saveResultscCs6t�d|j�|j��}|j�|�}|dkr2dS|S�N�
Running %s�F12rK��log�	log_debug�namerd�runOncer^�
buttonPressed�re�resultr7rrr�run�s
zAlreadyRegisteredWindow.runN�rDrErFrrrhrkrwrrrrrGqsrGc@s0eZdZdZdd�Zdd�Zdd�Zdd�Zd	S)
�SatelliteUrlWindowcCs�||_||_d|j_t|jj�|_t�|j�}||jkrR||_t�	|j�t
��tj
��}t�|tt�dd�}t}t}t}tj|dddt|�ddd�}	|j|	dddd�t�td��}	|�|	dd�t�d	d�}
t�t|��}	|
j|	ddd
dd�t�d�|_|j�|j�|
j|jdddd�t�t|��}	|
j|	ddd
dd�t�d�|_|j�|j�|
j|jdddd�|�|
dd	�t�|tt �d
ftt!�dftt"�dfg�|_#|j|j#ddddd�||_$dS)Nrr ��
��Zscroll�wrap��
anchorLeft�rJ�rrr r�rSZanchorRight�(rK�back�cancel�rr rr�rSrM)%rrU�alreadyRegisteredrrb�serverr�makeNiceServerUrlr�setServerURL�cfg�saverrVrWrYrZSATELLITE_URL_WINDOWZSATELLITE_URL_TEXTZSATELLITE_URL_PROMPTZSATELLITE_URL_PROMPT2r`r_�Label�Grid�setField�Entry�urlEntry�set�sslEntry�	sslCACertr[�NEXTr�CANCELr^rd)rerrU�fixed_server_urlrWrfZprompt_textZ	url_labelZ	ssl_label�label�gridrrrrh�sb

����


���zSatelliteUrlWindow.__init__cCs�|j��dkrBtj|jtt�tt�tt�gd�|j	�
|j�dS|j��dd�dkr�|j��dkr�tj|jtt�tt�tt�gd�|j	�
|j�dSdS)Nr��Zbuttonsr��httpsr )
r��valuerrrrrZSATELLITE_REQUIREDr!rd�
setCurrentr�ZSSL_REQUIREDrjrrr�validateFields�s"���z!SatelliteUrlWindow.validateFieldscCs\|j��}t�|�}||kr |}||j_|j��|j_t�	|�t�
|j���t��dSri)
r�r�rr�rUrbr�r�rr�ZsetSSLCACertr�r�)reZserverEntryr�rrrrk�s


zSatelliteUrlWindow.saveResultscCsht�d|j�|j��d}|sZ|j��}|j�|�}|dkrDd}|dkrZ|�	�}qqZq|j�
�|S�NrmrrnrK�rprqrrr�refreshrdrwr^rtr��	popWindow�reZvalidrvr7rrrrws



zSatelliteUrlWindow.runN�rDrErFrrrhr�rkrwrrrrry�s
A
ryc@s(eZdZdZdd�Zdd�Zdd�ZdS)�*AlreadyRegisteredSubscriptionManagerWindowcCs�t��r|jrt��||_||_tj��}t�	|jt
t�dd�}t�|jt
t
�dft
t�dfg�|_|j|jdddd�t�|dd|ddt
td	td	td
�dd�}|j|dddd�||_dS)
Nr rJrKr$rrLrNrOr)r(rQrR)rZrhsm_registeredrTrCrrUrrVrWrYrrZr[r\r]r^r_r`r&ZRHSM_SYSTEM_ALREADY_REGISTEREDrcrd)rerrUrWrfrgrrrrhs4


�������z3AlreadyRegisteredSubscriptionManagerWindow.__init__cCsdSrirrjrrrrk2sz6AlreadyRegisteredSubscriptionManagerWindow.saveResultscCs6t�d|j�|j��}|j�|�}|dkr2dS|Srlrorurrrrw5s
z.AlreadyRegisteredSubscriptionManagerWindow.runNrxrrrrr�sr�c@s(eZdZdZdd�Zdd�Zdd�ZdS)�
ConnectWindowcCs�||_||_tj��}t|jj�|_td|_	t�
|jtt�dd�}t
|jd}|j	rf|t|j	7}t�|dd|ddt|�dd�}|j|dddd�||_dS)	NZ	httpProxyr r)rrNrOrQrR)rrUrrVrWrrbr�r��proxyrYrZCONNECT_WINDOWZCONNECT_WINDOW_TEXTZCONNECT_WINDOW_TEXT2r`r_rd)rerrUrWrf�textrgrrrrhCs

�zConnectWindow.__init__cCsTt�d|j�|j��}|j��zt|jtj	�WnYdS0|j�
�dS)Nrmr�rK)rprqrrrd�drawrr�rBrZgetCapsr�)rervrrrrw\s


zConnectWindow.runcCsdSrirrjrrrrkqszConnectWindow.saveResultsN)rDrErFrrrhrwrkrrrrr�@sr�c@s(eZdZdZdd�Zdd�Zdd�ZdS)�StartWindowcCs�||_||_tj��}t�|jtt�dd�}tt�}t�	|dd|dd|dd�}|j
|dddd�t�|jtt�dftt
�d	ftt�d
fg�|_|j
|jdddd�||_dS)Nr rJrr{�rQrR�why_registerrKr�rL)rrUrrVrWrYrZSTART_REGISTER_WINDOWZSTART_REGISTER_TEXTr`r_r[ZWHY_REGISTERr�r�r^rd)rerrUrWrfZstart_register_textrgrrrrhws"
�"


��zStartWindow.__init__cCsdSrirrjrrrrk�szStartWindow.saveResultscCsXt�d|j�|j��}|j�|�}|dkr2dS|dkrTt|j|j	�}|�
�|S|S)NrmrnrKr�)rprqrrrdrsr^rt�WhyRegisterWindowrrUrw)rervr7Zwhy_reg_winrrrrw�s
zStartWindow.runNrxrrrrr�tsr�c@s eZdZdZdd�Zdd�ZdS)r�cCs�||_||_tj��}t�|jtt�dd�}tdt	dt
dtdtdt
dtdtdtdt}t�|dd|ddt|�dd�}|j|dddd	�t�|jtt�d
fg�|_|j|jdddd�||_dS)Nr rJr)r(rr{r�rQrRr�rL)rrUrrVrWrYrZWHY_REGISTER_WINDOWZWHY_REGISTER_TEXTr-r.r/r0r1r2r3r4r5r`r_r[Z
BACK_REGISTERr^rd)rerrUrWrfZwhy_register_textrgrrrrh�s`
�����������������	�&�zWhyRegisterWindow.__init__cCs*t�d|j�|j��}|j�|�}|S)Nrmrorurrrrw�s
zWhyRegisterWindow.runN)rDrErFrrrhrwrrrrr��sr�c@s0eZdZdZdd�Zdd�Zdd�Zdd�Zd	S)
�
InfoWindowcCs||_||_d|j_|jj|_tj��}t�|t	t
�dd�}t|j�}|j}||jkrb|d|7}t|}t
}t}	tj|dddt	|�ddd�}
|j|
dddd�t�d	d�}t�t	|��}
|j|
ddd
dd�t�d�|_|j�|j�|j|jdddd�t�t	t��}
|j|
ddd
dd�ztjddd
�|_Wn$t�yZtjddd�|_Yn0|j�|j�|j|jdddd�|�|dd�t�|ddt	|	��}
|j|
dd	dd�t�|t	t�dft	t�dft	t �dfg�|_!|j|j!ddddd�||_"dS)Nrr rzz (%s)r{r|r}rrJr�r�rO)�password)ZhiddenrKr�r�r�r�)#rrUr�rbr�rrVrWrYrZREGISTER_WINDOWrZLOGIN_PROMPTZLOGINZ	LOGIN_TIPr`r_r�r�r�r��
userNameEntryr��userNameZPASSWORD�
passwordEntry�	TypeErrorr��TextboxReflowedr[r�rr�r^rd)rerrUrWrfZdecoded_server�urlZlogin_promptZlogin_labelZ	login_tipr�r�rrrrh�sb



���


���zInfoWindow.__init__c
CsJ|j��dkrBtj|jtt�tt�tt�gd�|j	�
|j�dS|j��dkr�tj|jtt�tt�tt�gd�|j	�
|j�dSz t
�|j��|j���|j_Wn�tj�yt��d}tj|jttd��ttd��t|j�ttd��gd�|j	�
|j�YdStj�yDt��d}t|jtd�|j�Yn0dS)	Nr�r�rr �ErrorzThe server indicated an error:
r!z?There was an error communicating with the registration server:
)r�r�rrrrrZ
USER_REQUIREDr!rdr�r�ZPASSWORD_REQUIREDrZreserveUserrUr�rZValidationErrorr#r;rarr9r%)rerArrrr�	s2�� 8zInfoWindow.validateFieldscCs |j��|j_|j��|j_dSri)r�r�rUr�r�r�rjrrrrk%szInfoWindow.saveResultscCsht�d|j�|j��d}|sZ|j��}|j�|�}|dkrDd}|dkrZ|�	�}qqZq|j�
�|Sr�r�r�rrrrw)s



zInfoWindow.runNr�rrrrr��s
@r�c@s0eZdZdZdd�Zdd�Zdd�Zdd�Zd	S)
�OSReleaseWindowcCst||_t��st�d�t��t�|j|j�|_	t
|j	d�dkrRt�d�t��||_tj
��|_d|_t�|jtt�dd�}||_t�|jddtt��|_|j|jdddd	�tt�}|jjr�tj|ddd
�|_nt�|d�|_|j|jddddd�t�tt��|_|j|jdd
dd	�tj|jddd|jddd�|_|�|jdd�t |j	d�!�dd�d�D]4\}}||j	dv�r�|d}|j�"d||��qrt�|jddtt#��|_$|j|j$dddd	�tt%�}|jj&�rtj||jdd
�|_&nt�||j�|_&|j|j&ddddd�t�'|tt(�dftt)�dftt*�dfg�|_+|j|j+dddd�|j�,�dS)Nz5Server does not support EUS, skipping OSReleaseWindow�channelsr z3No available EUS channels, skipping OSReleaseWindowF�rr{r�ZisOn�rr rr �rSr�rJ�r+r|cSs|dS)Nrr)�arrr�<lambda>j�z*OSReleaseWindow.__init__.<locals>.<lambda>)�keyZreceiving_updatesrrPrzr�rQrKr�r��rL)-rUrZserver_supports_eusrprqrCZgetAvailableChannelsr�r��available_channels�lenrrrVrWZ
selectChannelrYrZSELECT_OSRELEASErdr�Z
OS_VERSIONZostextr_ZLIMITED_UPDATES�limited_updates_buttonZSingleRadioButtonr�Z
MINOR_RELEASEZsublabelZListbox�channelList�sorted�items�appendZCHANNEL_PAGE_TIPZtipZALL_UPDATES�all_updates_buttonr[r�rr�r^r�)rerrUrfZoptiontext1r�r�Zoptiontext2rrrrh@sv
�
�
���"
�
��


��zOSReleaseWindow.__init__cCslt�d|j�|j��d}|dkr^|j��}|j�|�}|dkrHd}|dkr^|�	�}qq^q|j�
�|S)Nrmr�rnrKr�r�rrrrw�s



zOSReleaseWindow.runcCs�d}d}|j��r&|j��|jdk}tt�}|rdtj|j	|tt
�|j��tt�tt�gd�}|S|j
��sr|r�tj|j	|tt�tt�tt�gd�}|S|S)N�okFZdefault_channelr�)r��selectedr��currentr�rZCONFIRM_OS_RELEASE_SELECTIONrrrZCONFIRM_OS_WARNINGr!r�r�ZCONFIRM_OS_ALL)reZmsgboxZ
later_release�titlerrrr��s&
�
�
�zOSReleaseWindow.validateFieldscCsz|jj�dd�|j��rVt�d|j���|j��|jjd<|j��|j_d|j_	|j	��rv|j	��|j_	d|j_dS)N�channelzSelected Channel %sr)
rU�other�popr�r�rprqr�r�r�rjrrrrk�s

zOSReleaseWindow.saveResultsN)rDrErFrrrhrwr�rkrrrrr�=s
Mr�c@s(eZdZdZdd�Zdd�Zdd�ZdS)�HardwareWindowcCs�||_||_tj��}t��\}}|durB||jjd<||jjd<t�	�|_t�
|tt�dd�}t�
dtt��}|j|dddd�t�dd�}t�ttd	���}	|j|	ddd
dd�t�d�|_|j|jdddd�|j|dddd�|j�rtjtt�dd
�|_nt�tt��|_|j|jddddd�t�tt��}	|j|	ddddd�t�dd�}d}
|
td�tt���d7}
t�ttd���|_|j|jddd
dd�t�tt����|_|j|jdddd�|
td�7}
|jD]$}|ddk�r�|
|dd7}
�q�|
td�7}
|jD]X}|ddk�rt|d�}|
|d7}
|j dk�rZ|j�!|j �n|j�!t|���q|
td�7}
|jD],}|ddk�r�|
td �|d!d7}
�q�|
td"�7}
|jD]J}|ddk�r�|d#�r�|
|d#d7}
n|d$�r�|
|d$d7}
�q�|
td%�7}
|jD](}|dd&k�r|
td'�|d(7}
�qt�
d)t|
��}
|�|
dd�t�
|dd*tt"��|_#|j|j#dd+ddd�t�$|tt%�d,ftt&�d-ftt'�d.fg�|_(|j|j(dd/ddd0�||_)dS)1N�	virt_uuid�	virt_typer r�r*rrrJz
Profile name:r�r�r�r�r�r�r|rQ)r�rSrzr�z	Version: z  zCPU model: �classZCPUZmodelr(z
Hostname: ZNETINFO�hostnamezCPU speed: z%d MHzZspeedzIP Address: ZipaddrZip6addrzMemory: ZMEMORYz%s megabytesZram�Pr{r�rKr�r�r�r�)*rrUrrVrWrZ
get_virt_infor�rZHardwarerYrZHARDWARE_WINDOWr�ZHARDWARE_WINDOW_DESC1r_r�r�rar�r��profileEntry�includeHardware�CheckboxZHARDWARE_WINDOW_CHECKBOX�hardwareButtonZDESELECTrr=ZversionLabelZ
versionLabel2r�profileNamer�ZHARDWARE_WINDOW_DESC2ZadditionalHWLabelr[r�rr�r^rd)rerrUrWr�r�rfr�r�r�Z
hardware_textZhwZunicode_hostnamergrrrrh�s�

�






�


���zHardwareWindow.__init__cCs |j��|j_|j��|j_dSri)r�r�rUr�r�r�r�rjrrrrk5szHardwareWindow.saveResultscCs6t�d|j�|j��}|j�|�}|dkr2dS|Srlrorurrrrw9s
zHardwareWindow.runNrxrrrrr��snr�c@s0eZdZdZdd�Zdd�Zdd�Zdd�Zd	S)
�PackagesWindowc	Cs�||_||_tj��}t�|tt�dd�}||_t�	|ddtt
��}|j|dddd�t�tt
�d�|_|j|jddddd�t�tt��}|j|dddd�t�|dd	d�|_|�|jdd
�|jgk�rJt�|tt�dd�|_t�dd�|_|j�|jdd�|j��|j��d}tjd
�r2d}tj|d�|_|j��|jD]B}|jjdt|d�t|d�t|d�ft|d�dd��qPt�|tt �dftt!�dftt"�dfg�|_#|j|j#ddddd�dS)Nr r�rr{rr�r�rJ�r|r��dZsupportsExtendedPackageProfile)r<z%s-%s-%srr�version�release)�itemr�rKr�r�rzr�r�)$rrUrrVrWrYrZPACKAGES_WINDOWrdr�ZPACKAGES_WINDOW_DESC1r_r�ZPACKAGES_WINDOW_DESC2�packagesButtonr�ZPACKAGES_WINDOW_UNCHECKZCheckboxTree�packageListZPACKAGES_WINDOW_PKGLIST�pwin�Scale�scaler�r�rr�r	ZgetInstalledPackageListr�r�r[r�rr�r^)	rerrUrWrfr�r�r<�packagerrrrhEsV
�





�
�



���zPackagesWindow.__init__cCs4|j�t|d|d��|j��|j��dS�Ng�?r��r�r��intr�r�rr��re�amount�totalrrr�setScale{s
zPackagesWindow.setScalecCsD|j��|j_|j��}|jjD]}|d|vr |jj�|�q dS)Nrr)r�r�rU�includePackagesr�ZgetSelection�selectedPackagesr�)reZ	selection�pkgrrrrk�s

zPackagesWindow.saveResultscCs6t�d|j�|j��}|j�|�}|dkr2dS|Srlrorurrrrw�s
zPackagesWindow.runN)rDrErFrrrhr�rkrwrrrrr�Bs
6r�c@s(eZdZdZdd�Zdd�Zdd�ZdS)�
SendWindowcCs�||_||_tj��}t�|tt�dd�}t�|ddtt	��}|�
|dd�t�|tt�dftt
�dftt�dfg�|_|j
|jddddd	�||_dS)
Nr rJr�rKr�r�r�r�)rrUrrVrWrYrZSEND_WINDOWr�ZSEND_WINDOW_DESCr_r[r�rr�r^rd�rerrUrWrfr�rrrrh�s 



���zSendWindow.__init__cCsdSrirrjrrrrk�szSendWindow.saveResultscCs6t�d|j�|j��}|j�|�}|dkr2dS|Srlrorurrrrw�s
zSendWindow.runNrxrrrrr��sr�c@s0eZdZdZdd�Zdd�Zdd�Zdd�Zd	S)
�
SendingWindowcCsP||_||_tj��}t�|tt�dd�|_t�	dd�|_
|j�|j
dd�dS)Nr r�r�r)rrUrrVrWrYrZSENDING_WINDOWr�r�r�r_)rerrUrWrrrrh�s
zSendingWindow.__init__cCs�t�d|j�|j��|j��d}zPt�dt|jj	��t
j|jj|jj
|jj|jj	d�}|j}t|d�}W�ntjy�t��d}t|jtd�|j�Yn�tjy�t��d}t|jtd�|j�Yn�tj�yt��d}t|jtd�|j�Yn�tj�yNt��d}t|jtd�|j�YnJtj�ynt|jt�Yn*tjt���t|jtd��Yn0t
�|��s�t|jtd��|�dd	�t
� �|_!|�d
d	�|jj"�rVzt
�#||jj$�Wn`tj�y,t��d}t|jtd�|j�Yn*tjt���t|jtd��Yn0|�d
d	�|jj%�r�zt
�&||jj'�Wn`tj�y�t��d}t|jtd�|j�Yn*tjt���t|jtd��Yn0d}zt(�)�}Wn*tj�yt|jt��d�Yn0t
�*|�zt
�+�\|j_,|j_-WnFt.�y�t��d}t/|jtd�t0t1f|j�d|j_2Yn0t
�3�|�d	d	�|j�4�||j_5dS)Nrmzother is %s)r�rIr zProblem registering system:
zProblem registering system.z&Problem writing out system id to disk.rzrJz"Problem sending hardware profile:
z!Problem sending hardware profile.r|zProblem sending package list:
zProblem sending package list.z%Could not open %s
%s is not enabled.
rK)6rprqrrr�r�rr��strrUr�rZregisterSystem2r�r�r�ZrawDictrrr9r#r;r%rarZRhnUuidUniquenessErrorZInsuffMgmntEntsErrorZRegistrationDeniedErrorZActivationKeyUsageLimitErrorZACT_KEY_USAGE_LIMIT_ERRORZ
log_exceptionZ
writeSystemIdr�Z
getOemInfo�oemInfor�ZsendHardwarerr�ZsendPackagesr�r
ZupdateLoginInfoZsendVirtInfoZpluginEnable�pm_plugin_present�pm_plugin_conf_changed�IOErrorr'rr�pm_plugin_conf_errorZspawnRhnCheckForUIr��reg_info)rerZsystemIdrAZlirrrrw�s�

�������

��



zSendingWindow.runcCsdSrirrjrrrrk.szSendingWindow.saveResultscCs4|j�t|d|d��|j��|j��dSr�r�r�rrrr�1s
zSendingWindow.setScaleN)rDrErFrrrhrwrkr�rrrrr��s

kr�c@s(eZdZdZdd�Zdd�Zdd�ZdS)�FinishWindowcCs�||_||_tj��}t�|tt�dd�}t�|ddtt	��}|�
|dd�t�|ttd��dfg�|_
|j
|j
ddddd�||_dS)	Nr rJr�ZFinishrKr�r�)rrUrrVrWrYrZ
FINISH_WINDOWr�ZFINISH_WINDOW_TEXT_TUIr_r[rar^rdr�rrrrh:s
���zFinishWindow.__init__cCsdSrirrjrrrrkMszFinishWindow.saveResultscCs6t�d|j�|j��}|j�|�}|dkr2dS|SrlrorurrrrwQs
zFinishWindow.runNrxrrrrr7src@s(eZdZdZdd�Zdd�Zdd�ZdS)�ReviewWindowc
Cs||_||_|j|_tj��}t�|tt�dd�}d}|jj	sJ|t
d7}|jjr^|td7}|jj
rr|td7}|td7}t|jd�dkr�d}|jdD]}||d7}q�tdtdd}t�d	|jj�|t7}|||d7}t|jd
�dk�rdd}	|jd
D]B}
|
dk�r,|	td7}	n$|
dk�rD|	td7}	n|	|
d7}	�q|t|	d7}t|jd
�dk�r�d}|jd
D]}||7}�q�|t|7}t�|dd|ddt|�dd�|_|j|jdddd�t�|tt�dfg�|_ |j|j ddddd�||_!dS)Nr rJr�r)r�rr(z%s
zserver type is %s Zsystem_slotsZenterprise_entitledZvirtualization_hostZuniversal_activation_keyr{r�r�rRrKr�)"rrUrrrVrWrYrZ
REVIEW_WINDOWr�ZPM_PLUGIN_WARNINGr�ZPM_PLUGIN_CONF_ERRORr�ZPM_PLUGIN_CONF_CHANGEDZREVIEW_WINDOW_PROMPTr�ZCHANNELS_TITLEZOK_CHANNELSrprq�
serverTypeZCHANNELS_SAT_WARNINGZ
MANAGEMENTZVIRTZSLOTSZACTIVATION_KEYr`Z
review_windowr_r[r!r^rd)
rerrUrWrfZreview_window_textZchannel_listr�r�Z	slot_listZslotZact_key_listZact_keyrrrrh]s`
���

(�zReviewWindow.__init__cCsdS)Nr rrjrrrrk�szReviewWindow.saveResultscCsNt�d|j�|j��}|j�|�}|dkr2d}|jjs>d}|jj	rJd}|S)NrmrnrKr$)
rprqrrrdrsr^rtrUr�r�rurrrrw�s
zReviewWindow.runNrxrrrrrZs?rc@s8eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�ZdS)
�TuiZRHN_REGISTER_TUIc
Cs�||_||_tj��|_|��d|_zt��|_	Wn"t
jyVt|t
d��Yn0tttttttttttttg
|_t��d|_tds�t� dd�td|_!dS)NrzBYou specified an invalid protocol.Only https and http are allowed.r�z'/usr/share/rhn/CLN-ORG-TRUSTED-SSL-CERT)"rrTrrVrW�	drawFramer�rZ
getServerTyperrZInvalidProtocolErrorr%rar�rGr�ryr�r�r�r�r�r�r�rr�windowsrr:rbr�r�r�)rerrTrrrrh�s6�zTui.__init__cCs|j��dSri)rr"rjrrr�__del__�szTui.__del__cCs4t|_|j�ddt|j��|j�ttd���dS)NrzL  <Tab>/<Alt-Tab> between elements  |  <Space> selects  |  <F12> next screen)ZCOPYRIGHT_TEXTZwelcomeTextrZdrawRootTextrZpushHelpLinerarjrrrr�sz
Tui.drawFramecCs~d|_d|_i|_ddddddddddd�
|_i|_d|jd<d|_d|_d|_d|_d|_	g|_
g|_d|_d|_
d|_dS)Nr�)
Zentitlement_numZregistration_numZ
first_name�	last_nameZcompany�addressZcity�state�zipZcountryZregistration_numberr r)r�r�r�ZproductInfor�r�r�r�r�r�r�r�r�r�r�rjrrr�initResults�s4�

zTui.initResultscCsnt�d|j�|��d}�z>d}|t|j�k�rPd}z|j||j|�}Wn0ty~|dkrn|d}n|d}Yq$Yn0t�d|�|��}t�d|�|dkr�|dkr�|d}|dkr�|j|jt	jkr�|d8}d}q$|d	kr�W|j�
�dS|d
k�r2t�d�t|j�dk�rNW|j�
�dSq$|dkr$|d}|��d}q$W|j�
�n|j�
�0dS)
NrmZforwardrr zindex is %sz	Result %sr�Zbackwardr$r�zCaught a cancel requestrK)
rprqrrr
r�rrrCrwr�r"r8rk)re�	direction�index�winrvrrrrw�sP

�
�


�zTui.runN)	rDrErFrrrhrrr
rwrrrrr�s!!rcCs|d}t�tjtj�ttj�dkrBtjddks>tjddkrBd}t��}t�dkrf|sft	|t
d��t||�}|��dS)Nrr z-tz--testz2You must run the RHN registration program as root.)
�signal�SIGINT�SIG_IGNr�r#�argvrZSnackScreenrr%rarrw)rTrrUrrr�main5s
r�__main__)<�osrr#�gettext�translation�t�hasattrrrarrZup2date_clientrrrrr	r
rZup2date_client.configrr
ZrhnrZrhn.connectionsrZrhn.i18nrZup2date_client.pmPluginrrZup2date_client.rhnreg_constantsZinitLogrpZinitUp2dateConfigr�rr%r'r8rB�	ExceptionrCrGryr�r�r�r�r�r�r�r�r�r�rrrrrDrrrr�<module>sd
/w)4))w~P$#S