MINI MINI MANI MO

Path : /usr/lib64/python3.6/__pycache__/
File Upload :
Current File : //usr/lib64/python3.6/__pycache__/nntplib.cpython-36.opt-2.pyc

3


 \F@sddlZddlZddlZddlZddlZyddlZWnek
rLdZYnXdZddlm	Z
ddlmZdddd	d
ddd
gZdZ
GdddeZGdddeZGdd	d	eZGdd
d
eZGdddeZGdddeZdZdZdddddddddd d!d"hZd#d$d%d&d'd(d)gZd(d)d*Zd+Zejd,d-d.d/d0gZejd1d2d3d4gZd5d
Z	d6d7Zdkd8d9Zdld:d;Z dmd<d=Z!erd>d?Z"Gd@dAdAZ#GdBdde#Z$erGdCdDdDe#Z%ej&dDe'dEkr|ddl(Z(e(j)dFdGZ*e*j+dHdIdJdKdLe*j+dMdNdOdPdLe*j+dQdRdne,dTeefdUe*j+dVdWdXe,dYdUe*j+dZd[d\dd]d^e*j-Z.e.j/Z/e.jse/dokrpeZ/e$e.j0e/d_Z1ne/dpkreZ/e%e.j0e/d_Z1e1j2Z3d`e3kre1j4e1j5e.j5\Z6Z7Z8Z9Z:e;dae:dbe7dce8dde9dedfZ<e=e,e9e.j>dSZ8e1j?e8e9\Z6Z@xbe@D]Z\ZAZBe	eBd$jCdgdSdZDe	eBd#ZEe,eBd)ZFe;dhjGeAe<eDdie<eEdjeFqWe1jHdS)qNFT)
decode_header)_GLOBAL_DEFAULT_TIMEOUTNNTP	NNTPErrorNNTPReplyErrorNNTPTemporaryErrorNNTPPermanentErrorNNTPProtocolError
NNTPDataErrorric@seZdZddZdS)rcGs>tj|f|y|d|_Wntk
r8d|_YnXdS)NrzNo response given)	Exception__init__response
IndexError)selfargsr/usr/lib64/python3.6/nntplib.pyrbs
zNNTPError.__init__N)__name__
__module____qualname__rrrrrr`sc@seZdZdS)rN)rrrrrrrrisc@seZdZdS)rN)rrrrrrrrmsc@seZdZdS)rN)rrrrrrrrqsc@seZdZdS)r	N)rrrrrrrr	usc@seZdZdS)r
N)rrrrrrrr
yswi3Z100Z101211215Z220Z221Z222Z224Z225Z230Z231Z282subjectfromdatez
message-idZ
referencesz:bytesz:lines)bytesliness
	GroupInfogrouplastfirstflagArticleInfoZnumber
message_idrcCsNg}x>t|D]2\}}t|tr6|j|j|p.dq|j|qWdj|S)Nascii)_email_decode_header
isinstancerappenddecodejoin)Z
header_strpartsvencrrrrs
cCsg}xh|D]`}|ddkr<|ddjd\}}}d|}n|jd\}}}|j}tj||}|j|q
Wt}t|t|krtd|dt||krtd|S)Nr:z$LIST OVERVIEW.FMT response too shortz*LIST OVERVIEW.FMT redefines default fields)	partitionlower_OVERVIEW_FMT_ALTERNATIVESgetr)_DEFAULT_OVERVIEW_FMTlenr
)rfmtlinename_suffixZdefaultsrrr_parse_overview_fmts

r<cCstt}g}x|D]}i}|jd^}}t|}xt|D]\}	}
|	t|krPq:||	}|jd}|	|kr|r|d}
|
r|
dt|
j|
krtd|
r|
t|
dnd}
|
|||	<q:W|j||fqW|S)N	r/z: z?OVER/XOVER response doesn't include names of additional headers)	r6r5splitint	enumerate
startswithr2r
r))rr7Zdata_process_funcZ
n_defaultsZoverviewr8ZfieldsZarticle_numbertokensitokenZ
field_nameZis_metadatahrrr_parse_overviews&

rFcCs|dkr |dd}|dd	}t|dd}t|dd}t|dd}t|dd
}t|dd}t|d
d}|dkr|d7}n|dkr|d7}tj||||||S)NFidiliirLrM)r?datetime)date_strtime_strZhoursZminutesZsecondsyearZmonthZdayrrr_parse_datetimes
rRcCsPt|tjsd}n
dj|}|j}|r<|d}dj||}ndj||}||fS)NZ000000z({0.hour:02d}{0.minute:02d}{0.second:02d}rKz{0:02d}{1.month:02d}{1.day:02d}z{0:04d}{1.month:02d}{1.day:02d})r(rNformatrQ)ZdtZlegacyrPyrOrrr_unparse_datetimes

rUcCs|dkrtj}|j||dS)N)Zserver_hostname)sslZ_create_stdlib_contextZwrap_socket)sockcontextZhostnamerrr_encrypt_onsrYc@seZdZdZdZdefddZddZdd	Zd
dZ	dd
Z
ddZeZddZ
ddZdhddZddZdiddZddZdjddZdkdd Zd!d"Zd#d$Zd%d&Zdd'd(d)Zdd'd*d+Zdldd'd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zdd'd6d7Zd8d9Z d:d;Z!dmd<d=Z"d>d?Z#d@dAZ$dndBdCZ%dodd'dDdEZ&dpdd'dFdGZ'dqdd'dHdIZ(dJdKZ)dd'dLdMZ*dd'dNdOZ+dd'dPdQZ,dd'dRdSZ-dTdUZ.dVdWZ/dXdYZ0dZd[Z1d\d]Z2d^d_Z3d`daZ4drdbdcZ5dddeZ6e7rdsdfdgZ8dS)t	_NNTPBasezutf-8surrogateescapeNcCsj||_||_d|_|j|_d|_|jd|_|rZd|jkrZ|j|jsZd|_|jd|_	d|_
dS)NrFREADER)hostfile	debugging_getrespwelcome_capsgetcapabilitiesreadermode_afterauth_setreadermodetls_on
authenticated)rr^r]
readermodetimeoutrrrr8s
	z_NNTPBase.__init__cCs|S)Nr)rrrr	__enter__gsz_NNTPBase.__enter__csRfdd}|rNz*yjWnttfk
r8YnXWd|rLjXdS)Ncs
tdS)Nr^)hasattrr)rrr<lambda>ksz$_NNTPBase.__exit__.<locals>.<lambda>)quitOSErrorEOFError_close)rrZis_connectedr)rr__exit__js
z_NNTPBase.__exit__cCs|jrtdt|j|jS)Nz	*welcome*)r_printreprra)rrrr
getwelcomeusz_NNTPBase.getwelcomec
Cs|jdkrd|_d|_y|j\}}Wnttfk
rDi|_Yn<X||_d|krhttt|d|_d|krdj	|d|_|jS)Nr0VERSIONZIMPLEMENTATION )
rbnntp_versionZnntp_implementationcapabilitiesrrmaxmapr?r+)rrespcapsrrrrc~s
z_NNTPBase.getcapabilitiescCs
||_dS)N)r_)rlevelrrrset_debuglevelsz_NNTPBase.set_debuglevelcCs:|t}|jdkr tdt||jj||jjdS)Nr0z*put*)_CRLFr_rrrsr^writeflush)rr8rrr_putlines

z_NNTPBase._putlinecCs2|jrtdt||j|j|j}|j|dS)Nz*cmd*)r_rrrsencodeencodingerrorsr)rr8rrr_putcmdsz_NNTPBase._putcmdTcCs|jjtd}t|tkr$td|jdkr<tdt||sDt|r|ddt	krf|dd}n|ddt	kr|dd}|S)	Nr0z
line too longz*get*rHrMrMr)
r^readline_MAXLINEr6r
r_rrrsror)rZ
strip_crlfr8rrr_getlines
z_NNTPBase._getlinecCsl|j}|jrtdt||j|j|j}|dd}|dkrHt||dkrXt||dkrht	||S)Nz*resp*r045Z123)
rr_rrrsr*rrrrr	)rr{crrrr`sz_NNTPBase._getrespc
Csd}zt|ttfr"t|d}}|j}|ddtkrBt|g}|dk	rdtdf}xv|jd}||krpP|j	dr|dd}|j
|q\Wn<d}x6|j}||krP|j	dr|dd}|j|qWWd|r|jX||fS)Nwb.s.
Fs..r0)
r(strropenr`	_LONGRESPrrrrArr)close)rr^Z
openedFiler{rZterminatorsr8
terminatorrrr_getlongresps8	



z_NNTPBase._getlongrespcCs|j||jS)N)rr`)rr8rrr	_shortcmds
z_NNTPBase._shortcmdcCs|j||j|S)N)rr)rr8r^rrr_longcmds
z_NNTPBase._longcmdcs.j|j|\}}|fdd|DfS)Ncsg|]}|jjjqSr)r*rr).0r8)rrr
<listcomp>sz,_NNTPBase._longcmdstring.<locals>.<listcomp>)rr)rr8r^r{listr)rr_longcmdstrings
z_NNTPBase._longcmdstringcCsby|jStk
rYnXy|jd\}}Wn tk
rNtdd}Yn
Xt|}||_|S)NzLIST OVERVIEW.FMT)Z_cachedoverviewfmtAttributeErrorrrr5r<)rr{rr7rrr_getoverviewfmtsz_NNTPBase._getoverviewfmtcCsdd|DS)NcSsg|]}t|jqSr)rr>)rr8rrrr$sz(_NNTPBase._grouplist.<locals>.<listcomp>r)rrrrr
_grouplist"sz_NNTPBase._grouplistcCs<i}|jd\}}x |D]}|j^}}|||<qW||fS)NZCAPABILITIES)rr>)rr|r{rr8r9rBrrrrx&s
z_NNTPBase.capabilities)r^cCsbt|tjtjfs$tdj|jjt||jdk\}}dj||}|j	||\}}||j
|fS)NzAthe date parameter must be a date or datetime object, not '{:40}'rHzNEWGROUPS {0} {1})r(rNr	TypeErrorrS	__class__rrUrwrr)rrr^rOrPcmdr{rrrr	newgroups4sz_NNTPBase.newgroupscCsRt|tjtjfs$tdj|jjt||jdk\}}dj|||}|j	||S)NzAthe date parameter must be a date or datetime object, not '{:40}'rHzNEWNEWS {0} {1} {2})
r(rNrrrSrrrUrwr)rrrr^rOrPrrrrnewnewsDsz_NNTPBase.newnewscCs4|dk	rd|}nd}|j||\}}||j|fS)NzLIST ACTIVE ZLIST)rr)r
group_patternr^commandr{rrrrrTs

z_NNTPBase.listcCstjd}|jd|\}}|jds8|jd|\}}i}x>|D]6}|j|j}|rB|jdd\}	}
|sp|
S|
||	<qBW|r||fSdSdS)Nz^(?P<group>[^ 	]+)[ 	]+(.*)$zLIST NEWSGROUPS rzXGTITLE r0rHr&)recompilerrAsearchstripr)rrZ
return_allline_patr{rgroupsraw_linematchr9Zdescrrr_getdescriptionscs


z_NNTPBase._getdescriptionscCs|j|dS)NF)r)rrrrrdescriptionzsz_NNTPBase.descriptioncCs|j|dS)NT)r)rrrrrdescriptionssz_NNTPBase.descriptionscCs|jd|}|jds t||j}d}}}t|}|dkr|d}|dkr|d}|dkr|d}|dkr|dj}|t|t|t||fS)NzGROUP rrr0rHrrI)rrArr>r6r2r?)rr9r{wordscountr!r nrrrrs

z_NNTPBase.groupcCs|jd|S)NZHELP)r)rr^rrrhelpsz_NNTPBase.helpcCs8|jdst||j}t|d}|d}|||fS)NZ22r0rH)rArr>r?)rr{rart_numr$rrr
_statparses
z_NNTPBase._statparsecCs|j|}|j|S)N)rr)rr8r{rrr_statcmds
z_NNTPBase._statcmdcCs"|r|jdj|S|jdSdS)NzSTAT {0}ZSTAT)rrS)rmessage_specrrrstats	z_NNTPBase.statcCs
|jdS)NZNEXT)r)rrrrnextsz_NNTPBase.nextcCs
|jdS)NZLAST)r)rrrrr sz_NNTPBase.lastcCs0|j||\}}|j|\}}}|t|||fS)N)rrr#)rr8r^r{rrr$rrr_artcmdsz_NNTPBase._artcmdcCs$|dk	rdj|}nd}|j||S)NzHEAD {0}ZHEAD)rSr)rrr^rrrrheadsz_NNTPBase.headcCs$|dk	rdj|}nd}|j||S)NzBODY {0}ZBODY)rSr)rrr^rrrrbodysz_NNTPBase.bodycCs$|dk	rdj|}nd}|j||S)NzARTICLE {0}ZARTICLE)rSr)rrr^rrrrarticlesz_NNTPBase.articlecCs
|jdS)NZSLAVE)r)rrrrslavesz_NNTPBase.slavecsDtjd|jdj|||\}}fdd|fdd|DfS)Nz^([0-9]+) ?(.*)
?zXHDR {0} {1}csj|}|r|jddS|S)Nr0rH)rr)r8m)patrr
remove_numbers
z%_NNTPBase.xhdr.<locals>.remove_numbercsg|]}|qSrr)rr8)rrrrsz"_NNTPBase.xhdr.<locals>.<listcomp>)rrrrS)rZhdrrr^r{rr)rrrxhdr
s	
z_NNTPBase.xhdrcCs.|jdj|||\}}|j}|t||fS)Nz
XOVER {0}-{1})rrSrrF)rstartendr^r{rr7rrrxovers	
z_NNTPBase.xoverc	Csxd|jkrdnd}t|ttfr>|\}}|dj||p6d7}n|dk	rR|d|}|j||\}}|j}|t||fS)NZOVERZXOVERz {0}-{1}r&rv)rbr(tuplerrSrrrF)	rrr^rrrr{rr7rrrover(sz_NNTPBase.overc	Csjtjdtdtjd}|jd||\}}g}x0|D](}|j|j}|r6|j|j	ddq6W||fS)NzFThe XGTITLE extension is not actively used, use descriptions() insteadrHz^([^ 	]+)[ 	]+(.*)$zXGTITLE r0)
warningswarnDeprecationWarningrrrrrr)r)	rrr^rr{Z	raw_linesrrrrrrxgtitleCs

z_NNTPBase.xgtitlecCsjtjdtd|jdj|}|jds0t|y|j\}}Wntk
r\t|Yn
X||fSdS)Nz(The XPATH extension is not actively usedrHz	XPATH {0}Z223)	rrrrrSrArr>
ValueError)ridr{Zresp_numpathrrrxpathUs
z_NNTPBase.xpathcCsb|jd}|jdst||j}t|dkr8t||d}t|dkrTt||t|dfS)NZDATEZ111rHr0)rrArr>r6r
rR)rr{elemrrrrris

z_NNTPBase.datecCs|j|}|jdst|t|ttfr2|j}xB|D]:}|jtsT|j	dt}|jdrfd|}|j
j|q8W|j
jd|j
j|j
S)N3s
rs.
)rrArr(r	bytearray
splitlinesendswithrrstripr^rrr`)rrfr{r8rrr_postzs





z_NNTPBase._postcCs|jd|S)NZPOST)r)rdatarrrpostsz_NNTPBase.postcCs|jdj||S)Nz	IHAVE {0})rrS)rr$rrrrihavesz_NNTPBase.ihavecCs|jj|`dS)N)r^r)rrrrrps
z_NNTPBase._closec
Csz|jd}Wd|jX|S)NZQUIT)rrp)rr{rrrrms
z_NNTPBase.quitcCs|jrtd|r"|r"tdy>|r^|r^ddl}|j}|j|j}|r^|d}|d}Wntk
rtYnX|s~dS|jd|}|jdr|st|n |jd|}|jdst	|d|_
|j|jrd	|j
kr|j
d|_
|jdS)
NzAlready logged in.z7At least one of `user` and `usenetrc` must be specifiedrrHzauthinfo user Z381zauthinfo pass Z281r\)rgrnetrcZauthenticatorsr]rnrrArrrbrcrdre)ruserpasswordusenetrcrZcredentialsZauthr{rrrlogins<



z_NNTPBase.logincCs`y|jd|_WnJtk
r$Yn8tk
rZ}z|jjdrHd|_nWYdd}~XnXdS)Nzmode readerZ480T)rrarrr
rArd)rerrrresz_NNTPBase._setreadermodecCs||jrtd|jrtd|jd}|jdrp|jjt|j||j	|_|jj
d|_d|_d|_|jnt
ddS)NzTLS is already enabled.z+TLS cannot be started after authentication.STARTTLSZ382rwbTzTLS failed to start.)rfrrgrrAr^rrYrWr]makefilerbrcr)rrXr{rrrstarttlss



z_NNTPBase.starttls)T)N)N)N)N)N)N)N)N)N)NNT)N)9rrrrrrrrjrqrtrcr~debugrrrr`rrrrrrrxrrrrrrrrrrrrr rrrrrrrrrrrrrrrprmrre	_have_sslrrrrrrZ(sj
.	

.







		
)
rZc@s*eZdZeddddefddZddZdS)rNFc	Cs||_||_tj||f||_d}y8|jjd}tj||||||sJ|rX|j|||Wn$|rn|j	|jj	YnXdS)Nr)
r]portsocketcreate_connectionrWrrZrrr)	rr]rrrrhrrir^rrrrs

z
NNTP.__init__c
Cs ztj|Wd|jjXdS)N)rZrprWr)rrrrrp!szNNTP._close)rrr	NNTP_PORTrrrprrrrrs"c@s,eZdZedddddefddZddZdS)NNTP_SSLNFc	

Cstj||f||_d}	yJt|j|||_|jjd}	tj||	|||d|sP|r^|j|||Wn$|	rt|	j|jjYnXdS)Nr)rhri)	rrrWrYrrZrrr)
rr]rrrZssl_contextrhrrir^rrrr+s


zNNTP_SSL.__init__c
Cs ztj|Wd|jjXdS)N)rZrprWr)rrrrrpAszNNTP_SSL._close)rrr
NNTP_SSL_PORTrrrprrrrr)s
r__main__zJ        nntplib built-in demo - display the latest articles in a newsgroup)rz-gz--groupzgmane.comp.python.generalz3group to fetch messages from (default: %(default)s))defaultrz-sz--serverznews.gmane.orgz+NNTP server hostname (default: %(default)s)z-pz--portr0z#NNTP port number (default: %s / %s))rtyperz-nz
--nb-articles
z2number of articles to fetch (default: %(default)s)z-Sz--ssl
store_truezuse NNTP over SSL)actionrr)r]rrZGroupZhaszarticles, rangeZtocCs$t||kr |d|dd}|S)NrIz...)r6)sZlimrrrcutlsr<z{:7} {:20} {:42} ({})*)N)N)Frrr)IrrcollectionsrNrrVImportErrorrZemail.headerrr'r__all__rrrrrrr	r
rrrr5r3r
namedtuplerr#r<rFrRrUrYrZrrr)rargparseArgumentParserparseradd_argumentr?
parse_argsrrZserverrrcr|rrr{rr!r r9rrrrZnb_articlesrZ	overviewsZartnumrr>ZauthorrrrSrmrrrr<module>Bs
	


X-






 

OHA YOOOO