Current Dir: /snap/core22/2955/usr/share/subiquity/subiquitycore/ui/views/__pycache__/

[FILE] network.cpython-310.pyc [ edit | delete | rename ]
[FILE] network_configure_manual_interface.cpython-310.pyc [ edit | delete | rename ]
[FILE] network_configure_wlan_interface.cpython-310.pyc [ edit | delete | rename ]
[FILE] __init__.cpython-310.pyc [ edit | delete | rename ]

Viewing: /snap/core22/2955/usr/share/subiquity/subiquitycore/ui/views/__pycache__/network_configure_manual_interface.cpython-310.pyc

o

K��^�;�@s�ddlZddlZddlmZmZmZmZddlmZm	Z	m
Z
ddlmZm
Z
ddlmZmZmZmZmZmZddlmZmZddlmZddlmZdd	lmZe�d
�Zej ej!d�ej"ej#d�d�Z$Gd
d�de�Z%Gdd�de�Z&e'd�ddfe'd�ddfe'd�ddfgZ(Gdd�de�Z)Gdd�de�Z*Gdd�de�Z+Gdd�de�Z,Gd d!�d!e�Z-Gd"d#�d#e
e�Z.ee.�Z/d$e/_0Gd%d&�d&e�Z1Gd'd(�d(e�Z2dS))�N)�CheckBox�connect_signal�Text�WidgetPlaceholder)�
BondConfig�BondParameters�StaticConfig)�Pile�
WidgetWrap)�ChoiceField�Form�	FormField�simple_field�StringField�WantsToKnowFormField)�RestrictedEditor�StringEditor)�Stretchy)�button_pile)�done_btnz6subiquitycore.network.network_configure_ipv4_interface)�address_cls�network_cls)��cs$eZdZ�fdd�Zdd�Z�ZS)�IPFieldcs$|�dd�|_t�j|i|��dS)N�has_maskF)�popr�super�__init__)�self�args�kw��	__class__��Q/usr/share/subiquity/subiquitycore/ui/views/network_configure_manual_interface.pyr=szIPField.__init__cCs.|jdkrt�S|jrd}t|�Sd}t|�S)Nrz[0-9./]z[0-9.])�
ip_versionrrr)r�form�allowedr$r$r%�_make_widgetAs
�zIPField._make_widget)�__name__�
__module__�__qualname__rr)�
__classcell__r$r$r"r%r<srcs�eZdZif�fdd�	Zed�Zeed�dd�Zeed��Zeed��Z	e
ed	�ed
�d�Ze
ed�ed
�d�Zdd�Z
dd�Zdd�Zdd�Zdd�Z�ZS)�NetworkConfigFormcs2||_t|}|d|_|d|_t��|�dS)Nrr)r&�ip_families�ip_address_cls�ip_network_clsrr)rr&�initial�famr"r$r%rNs


zNetworkConfigForm.__init__�SavezSubnet:T)rzAddress:zGateway:z
Name servers:zIP addresses, comma separated)�helpzSearch domains:zDomains, comma separatedcCs:d|vr|jdkrd}nd}ttd�j|d���|�|�S)N�/rzxx.xx.xx.xx/yyzxx:xx:..:xx/yyz"should be in CIDR form ({example}))�example)r&�
ValueError�_�formatr1)r�subnetr7r$r$r%�clean_subnet_s

�
zNetworkConfigForm.clean_subnetcCsN|�|�}z|jj}Wn
tyYdSw||vr%ttd�j||d���|S)Nz*'{address}' is not contained in '{subnet}')�addressr;)r0r;�valuer8r9r:)rr=r;r$r$r%�
clean_addressis
���zNetworkConfigForm.clean_addresscCs|sdS|�|�S�N)r0)r�gatewayr$r$r%�
clean_gatewayvs
zNetworkConfigForm.clean_gatewaycCs4g}|�d�D]}|��}|r|�t�|��q|S�N�,)�split�strip�append�	ipaddress�
ip_address)rr>�nameservers�nsr$r$r%�clean_nameservers{s�z#NetworkConfigForm.clean_nameserverscCs.g}|�d�D]
}|��}|r|�|�q|SrC)rErFrG)rr>�domains�domainr$r$r%�clean_searchdomains�s
�z%NetworkConfigForm.clean_searchdomains)r*r+r,rr9�ok_labelrr;r=rArrJ�
searchdomainsr<r?rBrLrOr-r$r$r"r%r.Ls"��

r.zAutomatic (DHCP)T�dhcp�Manual�manual�Disabled�disablec@s eZdZed�Zeded�ZdS)�NetworkMethodFormr4zIPv{ip_version} Method: ��choicesN)r*r+r,r9rPr�network_choices�methodr$r$r$r%rW�srWcs6eZdZ�fdd�Zdd�Zdd�Zd
dd	�Z�ZS)�EditNetworkStretchyc
s�||_||_||_t�|_td�j|d�|jj_i}t	|dt
|��}t	|dt
|��}|jrWd}t�
|jd�}t
|j�t
|j�d�|j�d�|j�d�}|jrV|j|d	<n|jr]d}nd
}||jj_t|jjjd|j�t�d|�t||�|_t|jd
|j�t|jd
|j�t|jd|j�t|jd|j�t|j� ��|_!t"|jj#�|_$|�d|�|j!t%d�|j$g}	t&��'dj|j(|d�|	dd�dS)NzIPv{v} Method: )�vrR�staticrTrz, )r;r=rJrQrArV�selectzmanual_initial %s�submit�cancel�z"Edit {device} IPv{v} configuration)�devicer]))�parent�dev_infor&rW�method_formr9r:r[�caption�getattr�str�	addressesrH�ip_interface�network�ip�joinrJrQrA�enabledr>r�widget�_select_method�log�debugr.�manual_form�donerar	�as_rows�	form_piler�buttons�bprrr�name)
rrdrer&�manual_initial�dhcp_status�
static_configr[�addr�widgetsr"r$r%r�s^��

�
�
���zEditNetworkStretchy.__init__cs�g���fdd�}�j��D]}||�q|dkr2|td���j��D]}||�q$�jj�j_n�jj�j_��jjdd�<dS)Ncs��|�j�d�f�dS)N�pack)rGrw�options)�w��rowsrr$r%�r�sz-EditNetworkStretchy._select_method.<locals>.rrTrb)	rfrvrrtrxry�original_widgetrw�contents)r�senderr[r��rowr$r�r%rq�s

z"EditNetworkStretchy._select_methodcCs|jjjdkrW|j}|jj}|durt|�}t|jj��d�d}|dt|jj��d�d7}t	|g|t
tt|jj��|j
jd�}t�d|j|�|jj�|jj|j|�n,|jjjdkrq|jj�|jj|j�t�d|j�n|jj�|jj|j�t�d	|j�|j��dS)
NrTr6r�)rjrArJrQz'EditNetworkStretchy %s manual config=%srRzEditNetworkStretchy %s, dhcpz EditNetworkStretchy %s, disabled)rfr[r>rtrArir=rEr;r�list�maprJrQrrrsr&rd�
controller�set_static_configrerz�enable_dhcp�disable_network�remove_overlay)rr�r'rAr=�configr$r$r%ru�s<���
�
�zEditNetworkStretchy.doneNcC�|j��dSr@�rdr��rr�r$r$r%ra�zEditNetworkStretchy.cancelr@)r*r+r,rrqrurar-r$r$r"r%r\�s
5r\cs@eZdZed�Z�fdd�Zeed��Zdd�Zdd�Z	�Z
S)	�VlanForm�Createcs||_||_t���dSr@)rd�dev_namerr)rrdr�r"r$r%rszVlanForm.__init__zVLAN ID:cCsLzt|�}Wntyd}Ynw|dus|dks|dkr$ttd���|S)Nr�i�z"VLAN ID must be between 1 and 4095)�intr8r9)rr>�vlanidr$r$r%�
clean_vlans��zVlanForm.clean_vlancCs2d|j|jjf}||jjvrtd�j|d�SdS)Nz%s.%sz{netdev} already exists��netdev)r��vlanr>rd�cur_netdev_namesr9r:)r�new_namer$r$r%�
validate_vlans�zVlanForm.validate_vlan)r*r+r,r9rPrrr�r�r�r-r$r$r"r%r�s
r�c�.eZdZ�fdd�Zdd�Zddd�Z�ZS)	�AddVlanStretchycsn||_|j|_t||j�|_t|jd|j�t|jd|j�t��	t
d�t|j���t
d�|jjgdd�dS)Nr`razAdd a VLAN tagrbr)rdrzr�r�r'rrurarrr9r	rvrrx)rrdrer"r$r%r!s�zAddVlanStretchy.__init__cCs<t�d|j|jjj�|jj�|j|jjj�|j�	�dS)NzAddVlanStretchy.done %s %s)
rrrsr�r'r�r>rdr��add_vlanr�r�r$r$r%ru,s��zAddVlanStretchy.doneNcCr�r@r�r�r$r$r%ra4r�zAddVlanStretchy.cancelr@�r*r+r,rrurar-r$r$r"r%r�sr�cs&eZdZ�fdd�Zddd�Z�ZS)�ViewInterfaceInfocsR||_t|�td�tttd�|jd�g�g}td�j|d�}t��||dd�dS)Nrb�Close)�on_presszInfo for {device})rcr�)	rdrrrr9�closer:rr)rrdrz�nic_infor�titler"r$r%r9s�zViewInterfaceInfo.__init__NcCr�r@r�)r�buttonr$r$r%r�Dr�zViewInterfaceInfo.closer@)r*r+r,rr�r-r$r$r"r%r�8sr�csFeZdZ�fdd�Zedd��Zejdd��Zdd�Zdd	�Z�Z	S)
�MultiNetdevChoosercs*tg�|_t�|_i|_t��|j�dSr@)r	�pile�set�selected�
box_to_devicerr�rr"r$r%rJs
zMultiNetdevChooser.__init__cCstt|j��Sr@)r��sortedr�r�r$r$r%r>PszMultiNetdevChooser.valuecCs2t|�|_|jjD]
\}}|j||jv|_q	dSr@)r�r�r�r�r��state)rr>�checkbox�optr$r$r%r>Ts
�cCsTg}|jjD]}t||jd�}||j|<|�||j�d�f�q||jjdd�<dS)N)�on_state_changer�)	r'�candidate_netdevsr�
_state_changer�rGr�r�r�)r�bffr��d�boxr$r$r%�set_bound_form_fieldZs
z'MultiNetdevChooser.set_bound_form_fieldcCs.|j|}|r|j�|�dS|j�|�dSr@)r�r��add�remove)rr�r�rcr$r$r%r�bs
z MultiNetdevChooser._state_change)
r*r+r,r�propertyr>�setterr�r�r-r$r$r"r%r�Hs

r�Fcs�eZdZ�fdd�Zeed��Zeed��Ze	ed�e
jd�Ze	ed�e
j
d�Ze	ed�e
jd�Zed	�Zd
d�Zdd
�Z�ZS)�BondFormcs>||_||_t��|�t|jjd|j�|�d|jj�dS)Nr_)	r��all_netdev_namesrrr�moderp�
_select_levelr>)rr2r�r�r"r$r%rps
zBondForm.__init__zName:z	Devices: z
Bond mode:rXzXMIT hash policy:z
LACP rate:r4cCs |tjv|j_|tjv|j_dSr@)r�supports_xmit_hash_policy�xmit_hash_policyro�supports_lacp_rate�	lacp_rate)rr��	new_valuer$r$r%r�s�
�zBondForm._select_levelcCsN|jj}||jvrtd�j|d�St|�dkrtd�St|�dkr%td�SdS)Nz2There is already a network device named "{netdev}"r�rzName cannot be empty�z+Name cannot be more than 16 characters long)rzr>r�r9r:�len)rrzr$r$r%�
validate_name�s
���zBondForm.validate_name)r*r+r,rrr9rz�MultiNetdevField�
interfacesrr�modesr��xmit_hash_policiesr��
lacp_ratesr�rPr�r�r-r$r$r"r%r�ns
�r�cr�)	�BondStretchycsF||_t|j�}|dur/d|_td�}td�}d}	d�|�}||vr$n|d7}qg|d�}	n4|j|_|j}
td�}td	�}|�|j�|
j	}|
j
|j|d
�}	|tjvrY|
j
|	d<|tjvrc|
j|	d<t||	d
�}t|	||�|_|jjjd�|�t|jd|j�t|jd|j�t��|t|j���td�|jjgdd�dS)NzCreate bondr�rTzbond{}r�)r�rzz	Edit bondr4)r�rzr�r�r�r�r`rarb)rdr�r��
existing_namer9r:rz�bondr�r�r�rr�r�r�r�r�r�r'rx�base_widget�	set_labelrrurarrr	rvr)rrd�existing_bond_info�candidate_namesr�r��label�xrzr2�
bondconfigr�r"r$r%r�sP

���



�zBondStretchy.__init__cCsP|j��}t�d|�|�d�}tdi|��}|jj�|j	||�|j�
�dS)NzBondStretchy.done result=%srzr$)r'�as_datarrrsrrrdr��add_or_update_bondr�r�)rr��resultr��
new_configr$r$r%ru�s

�zBondStretchy.doneNcCr�r@r�r�r$r$r%ra�r�zBondStretchy.cancelr@r�r$r$r"r%r��s-	r�)3�loggingrH�urwidrrrr�subiquitycore.models.networkrrr�subiquitycore.ui.containerr	r
�subiquitycore.ui.formrrr
rrr�subiquitycore.ui.interactiverr�subiquitycore.ui.stretchyr�subiquitycore.ui.utilsr�subiquitycore.ui.buttonsr�	getLoggerrr�IPv4Address�IPv4Network�IPv6Address�IPv6Networkr/rr.r9rZrWr\r�r�r�r�r��takes_default_styler�r�r$r$r$r%�<module>sH ����B�
i"#
Upload File: