OwlCyberSecurity - MANAGER
Edit File: nntplib.cpython-310.opt-2.pyc
o ����S�g?�������������������� ���@���s<�� �d�dl�Z�d�dlZd�dlZd�dlZd�dlZzd�dlZW�n�ey&���dZY�nw�dZd�dlm Z �d�dlmZ�g�d�ZdZ G�dd ��d e�ZG�d d��de�ZG�dd ��d e�ZG�dd��de�ZG�dd��de�ZG�dd��de�ZdZdZh�d�Zg�d�Zddd�ZdZe�dg�d��Ze�dg�d��Zd d!��Z d"d#��ZdYd$d%�ZdYd&d'�Z dZd(d)�Z!er�d*d+��Z"G�d,d-��d-�Z#er�G�d.d/��d/e#�Z$e�%d/��e&d0k�r�d�dl'Z'e'j(d1d2�Z)e)j*d3d4d5d6d7��e)j*d8d9d:d;d7��e)j*d<d=d>e+d?eef�d@��e)j*dAdBdCe+dDd@��e)j*dEdFdGddHdI��e)�,��Z-e-j.Z.e-j�se.d>k�reZ.e#e-j/e.dJ�Z0ne.d>k�r%eZ.e$e-j/e.dJ�Z0e0�1��Z2dKe2v��r9e0�3���e0�4e-j4�\Z5Z6Z7Z8Z9e:dLe9dMe6dNe7dOe8��dPdQ��Z;e<e+e8�e-j=�dR��Z7e0�>e7e8�\Z5Z?e?D�]-\Z@ZAe eAdS���BdTdR�d��ZCe eAdU��ZDe+eAd��ZEe:dV�Fe@e;eCdW�e;eDdX�eE����qhe0�G���dS�dS�)[�����NFT)� decode_header)�_GLOBAL_DEFAULT_TIMEOUT)�NNTP� NNTPError�NNTPReplyError�NNTPTemporaryError�NNTPPermanentError�NNTPProtocolError� NNTPDataErrorr���i���c�������������������@���s���e�Zd�Z �dd��ZdS�)r���c�����������������G���s>���t�j|�g|�R����z|d�|�_W�d�S��ty���d|�_Y�d�S�w�)Nr���zNo response given)� Exception�__init__�response� IndexError)�self�args��r����./opt/alt/python310/lib64/python3.10/nntplib.pyr���b���s����zNNTPError.__init__N)�__name__� __module__�__qualname__r���r���r���r���r���r���`���s����r���c�������������������@�������e�Zd�Z �dS�)r���N�r���r���r���r���r���r���r���r���i��������r���c�������������������@���r���)r���Nr���r���r���r���r���r���m���r���r���c�������������������@���r���)r���Nr���r���r���r���r���r���q���r���r���c�������������������@���r���)r ���Nr���r���r���r���r���r ���u���r���r ���c�������������������@���r���)r ���Nr���r���r���r���r���r ���y���r���r ����w���i3��>���Z282�211Z221Z101Z224Z231Z220Z100Z225Z222Z230�215)�subject�from�datez message-idZ references�:bytes�:linesr���r ���)�bytes�lines���� � GroupInfo)�group�last�first�flag�ArticleInfo)Znumber� message_idr"���c�����������������C���sL��� �g�}t�|��D�]\}}t|t�r|�|�|pd���q|�|��qd�|�S�)N�ascii��)�_email_decode_header� isinstancer!����append�decode�join)Z header_str�parts�v�encr���r���r���r�������s��� r���c�����������������C���s���� �g�}|�D�]0}|d�dkr|dd�����d�\}}}d|�}n|��d�\}}}|���}t�||�}|�|��qt}t|�t|�k�rDtd��|d�t|���|krRtd��|S�)Nr����:����z$LIST OVERVIEW.FMT response too shortz*LIST OVERVIEW.FMT redefines default fields)� partition�lower�_OVERVIEW_FMT_ALTERNATIVES�getr/����_DEFAULT_OVERVIEW_FMT�lenr ���)r"����fmt�line�name�_�suffix�defaultsr���r���r����_parse_overview_fmt����s ��� rC���c�����������������C���s���� �t�t�}g�}|�D�]]}i�}|�d�^}}t|�}t|�D�]B\} } | t�|�kr'q|| �}|�d�}| |krX|sX|d�} | rL| d�t�| ������| krLtd��| rV| t�| �d���nd�} | ||| �<�q|�||f��q |S�)N� r5���z: z?OVER/XOVER response doesn't include names of additional headers) r<���r;����split�int� enumerate� startswithr8���r ���r/���)r"���r=���Zdata_process_funcZ n_defaultsZoverviewr>���ZfieldsZarticle_number�tokens�i�tokenZ field_nameZis_metadata�hr���r���r����_parse_overview����s(��� rM���c�����������������C���s���� �|d�u�r|�dd���}|�d�d��}�t�|d�d���}t�|dd���}t�|dd����}t�|�d�d���}t�|�dd���}t�|�dd����}|dk�rJ|d7�}n|dk�rR|d 7�}t�||||||�S�) Ni�������������������F���i����d���il��)rF����datetime)�date_str�time_strZhoursZminutesZseconds�yearZmonthZdayr���r���r����_parse_datetime����s��� rX���c�����������������C���sX��� �t�|�tj�s d}nd�|��}|�j}|r"|d�}d�||��}||fS�d�||��}||fS�)NZ000000z({0.hour:02d}{0.minute:02d}{0.second:02d}rS���z{0:02d}{1.month:02d}{1.day:02d}z{0:04d}{1.month:02d}{1.day:02d})r.���rT����formatrW���)ZdtZlegacyrV����yrU���r���r���r����_unparse_datetime����s��� �r[���c�����������������C���s ��� �|d�u�r t����}|j|�|d�S�)N)Zserver_hostname)�sslZ_create_stdlib_contextZwrap_socket)�sock�contextZhostnamer���r���r����_encrypt_on��s���r_���c�������������������@���s��e�Zd�ZdZdZeddddefdd�Zdd��Zd d ��Z dd��Z d d��Zdd��Zdd��Z dd��ZeZdd��Zdd��Zdidd�Zdd��Zdjdd�Zd d!��Zdjd"d#�Zdjd$d%�Zd&d'��Zd(d)��Zd*d+��Zdd,�d-d.�Zdd,�d/d0�Zdjdd,�d1d2�Zd3d4��Zd5d6��Zd7d8��Z d9d:��Z!dd,�d;d<�Z"d=d>��Z#d?d@��Z$djdAdB�Z%dCdD��Z&dEdF��Z'djdGdH�Z(djdd,�dIdJ�Z)djdd,�dKdL�Z*djdd,�dMdN�Z+dOdP��Z,dd,�dQdR�Z-dd,�dSdT�Z.dd,�dUdV�Z/dWdX��Z0dYdZ��Z1d[d\��Z2d]d^��Z3d_d`��Z4dadb��Z5dkdcdd�Z6dedf��Z7e8�rdjdgdh�Z9dS�dS�)lr���zutf-8�surrogateescapeNFc�����������������C���s~��� �||�_�||�_|��|�|�_d�|�_z|�j�d�|�_|��|��|s!|r+|��|||��W�d�S�W�d�S����|�jr9|�j����|�j������)N�rwb) �host�port�_create_socketr]����file�makefile� _base_init�login�close)r���rb���rc����user�password� readermode�usenetrc�timeoutr���r���r���r���8��s ��� � z NNTP.__init__c�����������������C���s`��� �d|�_�|����|�_d�|�_|�����d|�_|r(d|�jvr(|�����|�js(d�|�_|�����d|�_d|�_d�S�)Nr���F�READER) � debugging�_getresp�welcome�_caps�getcapabilities�readermode_afterauth�_setreadermode�tls_on� authenticated)r���rl���r���r���r���rg���[��s��� zNNTP._base_initc�����������������C���s���|�S��Nr����r���r���r���r���� __enter__}��s���zNNTP.__enter__c�������������� ������sf�����fdd�}|��r1zz�������W�n�ttfy���Y�nw�W�|��r&������d�S�d�S�|��r0������w�w�d�S�)Nc����������������������s ���t���d�S�)Nre���)�hasattrr���rz���r���r����<lambda>���s��� �zNNTP.__exit__.<locals>.<lambda>)�quit�OSError�EOFError�_close)r���r���Zis_connectedr���rz���r����__exit__���s����� � ��z NNTP.__exit__c�����������������C���s<���|d�ur |s t�d��t�d|�|�j|�j��t�|�j|�jf|�S�)Nz0Non-blocking socket (timeout=0) is not supportedznntplib.connect)� ValueError�sys�auditrb���rc����socketZcreate_connection)r���rn���r���r���r���rd������s���zNNTP._create_socketc�����������������C���s��� �|�j�rtdt|�j���|�jS�)Nz *welcome*)rp����print�reprrr���rz���r���r���r���� getwelcome���s���zNNTP.getwelcomec�������������� ���C���s���� �|�j�d�u�rBd|�_d�|�_z|����\}}W�n�ttfy$���i�|�_�Y�|�j�S�w�||�_�d|v�r6ttt|d���|�_d|v�rBd� |d��|�_|�j�S�)Nr6���ZVERSIONZIMPLEMENTATION� ) rs����nntp_versionZnntp_implementation�capabilitiesr���r����max�maprF���r1���)r����resp�capsr���r���r���rt������s ��� �zNNTP.getcapabilitiesc�����������������C���s��� �||�_�d�S�ry���)rp���)r����levelr���r���r����set_debuglevel���s��� zNNTP.set_debuglevelc�����������������C���sJ��� �t��d|�|��|t�}|�jdkrtdt|���|�j�|��|�j����d�S�)Nznntplib.putliner6���z*put*) r����r�����_CRLFrp���r����r����re����write�flush�r���r>���r���r���r����_putline���s���z NNTP._putlinec�����������������C���s4��� �|�j�rtdt|���|�|�j|�j�}|��|��d�S�)Nz*cmd*)rp���r����r�����encode�encoding�errorsr����r����r���r���r����_putcmd���s���zNNTP._putcmdTc�����������������C���s���� �|�j��td��}t|�tkrtd��|�jdkrtdt|���|s#t�|rC|dd���t kr5|d�d��}|S�|dd���t v�rC|d�d��}|S�)Nr6���z line too longz*get*rQ������) re����readline�_MAXLINEr<���r ���rp���r����r����r����r����)r���Z strip_crlfr>���r���r���r����_getline���s��� �z NNTP._getlinec�����������������C���sn��� �|�����}|�jrtdt|���|�|�j|�j�}|d�d��}|dkr%t|��|dkr-t|��|dvr5t |��|S�)Nz*resp*r6����4�5Z123) r����rp���r����r����r0���r����r����r���r���r ���)r���r�����cr���r���r���rq������s���z NNTP._getrespc�����������������C���s���� �d�}zot�|ttf�rt|d��}}|����}|d�d��tvr"t|��g�}|d�urKdt�df} �|��d�}||v�r9n|� d�rD|dd���}|� |��q/nd} �|����}||krWn|� d�rb|dd���}|�|��qNW�|ro|����||fS�|rz|����w�w�)N�wb��������.s���. r6���Fs���..) r.����strr!����openrq���� _LONGRESPr���r����r����rH���r����r/���ri���)r���re���Z openedFiler����r"���Zterminatorsr>���� terminatorr���r���r����_getlongresp���sH��� � �� � �zNNTP._getlongrespc�����������������C���s��� �|���|��|����S�ry���)r����rq���r����r���r���r���� _shortcmd��s��� zNNTP._shortcmdc�����������������C���s��� �|���|��|��|�S�ry����r����r����)r���r>���re���r���r���r����_longcmd��s��� z NNTP._longcmdc��������������������s0��� �����|�����|�\}}|��fdd�|D��fS�)Nc��������������������s���g�|�] }|����j��j��qS�r���)r0���r����r������.0r>���rz���r���r���� <listcomp>+��s�����z'NNTP._longcmdstring.<locals>.<listcomp>r����)r���r>���re���r�����listr���rz���r����_longcmdstring$��s��� �zNNTP._longcmdstringc�����������������C���sb��� �z|�j�W�S��ty���Y�nw�z |��d�\}}W�n�ty'���td�d���}Y�nw�t|�}||�_�|S�)NzLIST OVERVIEW.FMT)Z_cachedoverviewfmt�AttributeErrorr����r���r;���rC���)r���r����r"���r=���r���r���r����_getoverviewfmt.��s�����zNNTP._getoverviewfmtc�����������������C���s���dd��|D��S�)Nc�����������������S���s���g�|�]}t�|������qS�r���)r$���rE���r����r���r���r���r����A��s����z#NNTP._grouplist.<locals>.<listcomp>r���)r���r"���r���r���r���� _grouplist?��s���zNNTP._grouplistc�����������������C���s:��� �i�}|���d�\}}|D�]}|���^}}|||<�q||fS�)NZCAPABILITIES)r����rE���)r���r����r����r"���r>���r?���rI���r���r���r���r����C��s��� zNNTP.capabilities)re���c����������������C���sd��� �t�|tjtjf�std�|jj���t||�jdk��\}}d�||�}|�� ||�\}}||�� |�fS�)N�Athe date parameter must be a date or datetime object, not '{:40}'rN���zNEWGROUPS {0} {1})r.���rT���r���� TypeErrorrY���� __class__r���r[���r����r����r����)r���r���re���rU���rV����cmdr����r"���r���r���r���� newgroupsQ��s��� �zNNTP.newgroupsc����������������C���sT��� �t�|tjtjf�std�|jj���t||�jdk��\}}d�|||�}|�� ||�S�)Nr����rN���zNEWNEWS {0} {1} {2}) r.���rT���r���r����rY���r����r���r[���r����r����)r���r%���r���re���rU���rV���r����r���r���r����newnewsa��s��� �zNNTP.newnewsc����������������C���s6��� �|d�ur d|�}nd}|���||�\}}||��|�fS�)NzLIST ACTIVE ZLIST)r����r����)r���� group_patternre����commandr����r"���r���r���r���r����q��s��� z NNTP.listc�����������������C���s����t��d�}|��d|��\}}|�d�s|��d|��\}}i�}|D�]}|�|����}|r=|�dd�\} } |s9| ��S�| || <�q |rD||fS�dS�)Nz^(?P<group>[^ ]+)[ ]+(.*)$zLIST NEWSGROUPS r���zXGTITLE r6���rN���r,���)�re�compiler����rH����search�stripr%���)r���r����Z return_allZline_patr����r"����groupsZraw_line�matchr?���Zdescr���r���r����_getdescriptions���s ��� �zNNTP._getdescriptionsc�����������������C������� �|���|d�S�)NF�r����)r���r%���r���r���r����description���s��� zNNTP.descriptionc�����������������C���r����)NTr����)r���r����r���r���r����descriptions���s���zNNTP.descriptionsc�����������������C���s���� �|���d|��}|�d�st|��|���}d�}�}}t|�}|dkrA|d�}|dkrA|d�}|dkrA|d�}|dkrA|d����}|t|�t|�t|�|fS�)NzGROUP r���r���r6���rN���r����rO���)r����rH���r���rE���r<���r8���rF���)r���r?���r�����words�countr'���r&����nr���r���r���r%������s ��� z NNTP.groupc����������������C������� �|���d|�S�)NZHELP)r����)r���re���r���r���r����help���s���z NNTP.helpc�����������������C���s:��� �|��d�s t|��|���}t|d��}|d�}|||fS�)NZ22r6���rN���)rH���r���rE���rF���)r���r����r�����art_numr*���r���r���r���� _statparse���s��� zNNTP._statparsec�����������������C���s��� �|���|�}|��|�S�ry���)r����r����)r���r>���r����r���r���r����_statcmd���s��� z NNTP._statcmdc�����������������C���s ��� �|r|���d�|��S�|���d�S�)NzSTAT {0}ZSTAT)r����rY���)r����message_specr���r���r����stat���s��� z NNTP.statc�����������������C������� �|���d�S�)NZNEXT�r����rz���r���r���r����next������� z NNTP.nextc�����������������C���r����)NZLASTr����rz���r���r���r���r&������r����z NNTP.lastc�����������������C���s2��� �|���||�\}}|��|�\}}}|t|||�fS�ry���)r����r����r)���)r���r>���re���r����r"���r����r*���r���r���r����_artcmd���s���zNNTP._artcmdc����������������C����&��� �|d�urd��|�}nd}|��||�S�)NzHEAD {0}ZHEAD�rY���r�����r���r����re���r����r���r���r����head���� ���z NNTP.headc����������������C���r����)NzBODY {0}ZBODYr����r����r���r���r����body��r����z NNTP.bodyc����������������C���r����)NzARTICLE {0}ZARTICLEr����r����r���r���r����article��r����zNNTP.articlec�����������������C���r����)NZSLAVE)r����rz���r���r���r����slave!��s��� z NNTP.slavec�������������������sF��� �t��d���|��d�||�|�\}}��fdd��|�fdd�|D��fS�)Nz^([0-9]+) ?(.*) ?zXHDR {0} {1}c��������������������s�������|��}|r |�dd�S�|�S�)Nr6���rN���)r����r%���)r>����m)�patr���r���� remove_number2��s��� z NNTP.xhdr.<locals>.remove_numberc��������������������s���g�|�]}��|��qS�r���r���r����)r����r���r���r����5��s����zNNTP.xhdr.<locals>.<listcomp>)r����r����r����rY���)r���Zhdrr����re���r����r"���r���)r����r����r����xhdr'��s ��� z NNTP.xhdrc����������������C���s0��� �|���d�||�|�\}}|����}|t||�fS�)Nz XOVER {0}-{1})r����rY���r����rM���)r����start�endre���r����r"���r=���r���r���r����xover7��s����z NNTP.xoverc���������� ������C���sz��� �d|�j�v�rdnd}t|ttf�r |\}}|d�||pd�7�}n |d�ur*|d�|�}|��||�\}}|����}|t||�fS�)NZOVERZXOVERz {0}-{1}r,���r����)rs���r.����tupler����rY���r����r����rM���) r���r����re���r����r����r����r����r"���r=���r���r���r����overE��s���z NNTP.overc�����������������C���sd��� �|���d�}|�d�st|��|���}t|�dkrt|��|d�}t|�dkr+t|��|t|d��fS�)NZDATEZ111rN���r6�������)r����rH���r���rE���r<���r ���rX���)r���r�����elemr���r���r���r���r���`��s��� z NNTP.datec�����������������C���s����|���|�}|�d�st|��t|ttf�r|���}|D�]}|�t�s)|� d�t�}|�d�r2d|�}|�j �|��q|�j �d��|�j ����|�� ��S�)N�3r#���r����s���. )r����rH���r���r.���r!���� bytearray� splitlines�endswithr�����rstripre���r����r����rq���)r���r�����fr����r>���r���r���r����_postq��s��� z NNTP._postc�����������������C���r����)NZPOST)r����)r����datar���r���r����post���s���z NNTP.postc�����������������C���s��� �|���d�|�|�S�)Nz IHAVE {0})r����rY���)r���r*���r����r���r���r����ihave���s���z NNTP.ihavec�����������������C���sB���z|�j�r|�j�����|�`�W�|�j����d�S�W�|�j����d�S�|�j����w�ry���)re���ri���r]���rz���r���r���r���r�������s��� �zNNTP._closec�����������������C���s&��� �z|���d�}W�|�����|S�|�����w�)NZQUIT)r����r����)r���r����r���r���r���r~������s��� �z NNTP.quitc�����������������C���s����|�j�rtd��|s|std��z|r,|s,dd�l}|���}|�|�j�}|r,|d�}|d�}W�n �ty6���Y�nw�|s;d�S�|��d|��}|�d�r]|sMt|��|��d|��}|�d�s]t |��d�|�_ |�����|�jryd |�j vr{|�� ���d�|�_ |�����d�S�d�S�d�S�) NzAlready logged in.z7At least one of `user` and `usenetrc` must be specifiedr���rN���zauthinfo user Z381zauthinfo pass Z281ro���)rx���r�����netrcZauthenticatorsrb���r���r����rH���r���r���rs���rt���ru���rv���)r���rj���rk���rm���r����ZcredentialsZauthr����r���r���r���rh������sD������ �z NNTP.loginc�������������� ���C���sb���z |���d�|�_W�d�S��ty���Y�d�S��ty0�}�z|j�d�r$d|�_n��W�Y�d�}~d�S�d�}~ww�)Nzmode readerZ480T)r����rr���r���r���r ���rH���ru���)r����er���r���r���rv������s������zNNTP._setreadermodec�����������������C���s|��� �|�j�rtd��|�jrtd��|��d�}|�d�r:|�j����t|�j||�j �|�_|�j� d�|�_d|�_�d�|�_|�����d�S�t d��)NzTLS is already enabled.z+TLS cannot be started after authentication.�STARTTLSZ382ra���TzTLS failed to start.)rw���r����rx���r����rH���re���ri���r_���r]���rb���rf���rs���rt���r���)r���r^���r����r���r���r����starttls���s��� z NNTP.starttls)Try���)NNT):r���r���r���r����r����� NNTP_PORTr���r���rg���r{���r����rd���r����rt���r�����debugr����r����r����rq���r����r����r����r����r����r����r����r����r����r����r����r����r����r%���r����r����r����r����r����r&���r����r����r����r����r����r����r����r����r���r����r����r����r����r~���rh���rv���� _have_sslr����r���r���r���r���r���(��st���� �#" . ) �r���c�����������������������s8���e�Zd�Zedddddef��fdd� Z��fdd�Z���ZS�)�NNTP_SSLNFc ����������� ��� ������s$��� �||�_�t���|||||||��d�S�ry���)�ssl_context�superr���) r���rb���rc���rj���rk���r����rl���rm���rn����r����r���r���r������s ����zNNTP_SSL.__init__c��������������������s4���t����|�}zt||�j|�j�}W�|S����|������ry���)r����rd���r_���r����rb���ri���)r���rn���r]���r����r���r���rd�����s����zNNTP_SSL._create_socket)r���r���r���� NNTP_SSL_PORTr���r���rd���� __classcell__r���r���r����r���r�������s�����r�����__main__zJ nntplib built-in demo - display the latest articles in a newsgroup)r����z-gz--groupzgmane.comp.python.generalz3group to fetch messages from (default: %(default)s))�defaultr����z-sz--serverz news.gmane.ioz+NNTP server hostname (default: %(default)s)z-pz--portr����z#NNTP port number (default: %s / %s))r���typer����z-nz --nb-articles� ���z2number of articles to fetch (default: %(default)s)z-Sz--ssl� store_truezuse NNTP over SSL)�actionr��r����)rb���rc���r����ZGroupZhaszarticles, range�toc�����������������C���s$���t�|��|kr|�d�|d���d�}�|�S�)NrO���z...)r<���)�sZlimr���r���r����cut3��s���r ��r6���r����<r���z{:7} {:20} {:42} ({})�����*���ry���)F)Hr����r�����collectionsrT���r����r\����ImportErrorr����Zemail.headerr���r-���r����__all__r����r���r���r���r���r���r ���r ���r����r���r����r;���r9���r����� namedtupler$���r)���rC���rM���rX���r[���r_���r���r����r/���r����argparse�ArgumentParser�parser�add_argumentrF���� parse_argsr���rc���Zserverr ��rt���r����r����r%���r����r����r'���r&���r?���r����r ��r����Znb_articlesr����Z overviewsZartnumr����rE���Zauthorr���r"���rY���r~���r���r���r���r����<module>���s�����A� ��� �����S � � ��� ��