Ñò ^¾øIc@sdZdZdZdZddkZddkZddkZddkZddkZddk Z ddk Z ddk Z ddk Z ddk Z ddkZdZdZdefd „ƒYZd efd „ƒYZd efd „ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZd e fd!„ƒYZ!d"e i"efd#„ƒYZ"d$e"fd%„ƒYZ#d&e"fd'„ƒYZ$d(e#fd)„ƒYZ%d*e#fd+„ƒYZ&d,e&fd-„ƒYZ'd.e'fd/„ƒYZ(d0e'fd1„ƒYZ)d2e'fd3„ƒYZ*d4e*fd5„ƒYZ+d6e*fd7„ƒYZ,d8e*fd9„ƒYZ-d:e-fd;„ƒYZ.d<e-fd=„ƒYZ/d>e%fd?„ƒYZ0d@e1fdA„ƒYZ2dBe3fdC„ƒYZ4dDe i efdE„ƒYZ5dF„Z6dG„Z7dJddH„Z9edIƒZ:dS(Ks"networked spam-signature detections&Frank J. Tobin, ftobin@neverending.orgs0.5.0s8$Id: __init__.py,v 1.43 2002-09-17 15:12:58 ftobin Exp $iÿÿÿÿNtpyzorg@t CommErrorcBseZdZRS(s4Something in general went wrong with the transaction(t__name__t __module__t__doc__(((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyRst ProtocolErrorcBseZdZRS(s,Something is wrong with talking the protocol(RRR(((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyRst TimeoutErrorcBseZRS((RR(((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyR#stIncompleteMessageErrorcBseZRS((RR(((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyR(stUnsupportedVersionErrorcBseZRS((RR(((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyR-stSignatureErrorcBseZdZRS(sLunknown user, signature on msg invalid, or not within allowed time range(RRR(((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyR 2st SingletoncBseZgZd„ZRS(cOs<|iidƒ}|djoti|ƒ|_n|iS(Nt__it__(t__dict__tgettNonetobjectt__new__R (tclstargstkwdstit((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyR;s (RRt __slots__R(((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyR 9st BasicIteratorcBseZd„Zd„ZRS(cCs|S(N((tself((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyt__iter__DscCs t‚dS(N(tNotImplementedError(R((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pytnextGs(RRRR(((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyRCs tUsernamecBs)eZeidƒZd„Zd„ZRS(s ^[-\.\w]+$cCs|iƒdS(N(tvalidate(Rts((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyt__init__OscCs(|ii|ƒptd|‚ndS(Ns%s is an invalid username(t user_patterntmatcht ValueError(R((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyRRs(RRtretcompileRRR(((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyRLs tOpnamecBs)eZeidƒZd„Zd„ZRS(s ^[-\.\w]+$cCs|iƒdS(N(R(RR((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyR[scCs(|ii|ƒptd|‚ndS(Ns%s is an invalid username(t op_patternR R!(R((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyR^s(RRR"R#R%RR(((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyR$Xs tOutputcBs>eZeZeZddd„Zd„Zd„Zd„Z RS(cCs8|dj o ||_n|dj o ||_ndS(N(Rtquiettdo_debug(RR'tdebug((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyRgs  cCs |GHdS(N((Rtmsg((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pytdatajscCs&|iptiid|ƒndS(Ns%s (R'tsyststderrtwrite(RR*((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pytwarnls cCs&|iotiid|ƒndS(Ns%s (R(R,R-R.(RR*((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyR)ns N( RRtFalseR(R'RRR+R/R)(((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyR&ds   t DataDigestcBseZeidZd„ZRS(icCs't|ƒ|ijo td‚ndS(Nsinvalid digest value size(tlent value_sizeR!(Rtvalue((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyRws(RRtshat digest_sizeR3R(((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyR1ss tDataDigestSpeccBsJeZdZd„Zd„ZeeƒZd„Zd„ZeeƒZRS(s'a list of tuples, (perc_offset, length)cCs"x|D]}|i|ƒqWdS(N(tvalidate_tuple(Rtt((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyR€scCsU|\}}d|jo djnp td‚n|djp td‚ndS(Niidsoffset percentage out of boundsspiece lengths must be positive(R!(R9t perc_offsettlength((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyR8„s    cCs%ditttd„|dƒƒƒS(Nt,cSs||S(((txty((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyts((tjointmaptstrtreduce(R((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyt netstringscCs­t|ƒ}|idƒ}ttƒddjo td‚nxgtdt|ƒdƒD]M}t||ƒ}t||dƒ}|i||ƒ|i||fƒqXW|S(NR<iisinvalid list parityi( tapplytsplitR2t extended_listR!trangetintR8tappend(RRtnew_spect expanded_listtiR:R;((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pytfrom_netstring‘s  ( RRRRR8t staticmethodRDRNt classmethod(((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyR7}s     tMessagecBsAeZdd„Zd„Zd„Zd„Zd„Zd„ZRS(cCsA|djotiƒ}ntt|ƒi|ƒ|iƒdS(N(Rt cStringIOtStringIOtsuperRQRtsetup(Rtfp((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyR¦s cCsdS(s.called after __init__, designed to be extendedN((R((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyRU®scCs|iƒdS(N(tensure_complete(R((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pytinit_for_sending³scCs=di|iƒ}|d7}|iƒ||iiƒ7}|S(Nts (R@theaderst rewindbodyRVtread(RR((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyt__str__·s   cCs t‚dS(N(R(R((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyt __nonzero__ÁscCsdS(N((R((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyRWÅsN( RRRRRURXR]R^RW(((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyRQ¥s     tThreadedMessagecBs5eZd„Zd„Zd„Zd„Zd„ZRS(cCsk|idƒp|itiƒƒn|idƒpt‚|idttƒƒtt |ƒi ƒdS(NtThreadtPV( thas_keyt set_threadtThreadIdtgeneratetAssertionErrort setdefaultRBt proto_versionRTR_RX(R((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyRXËs cCsD|idƒo |idƒp td‚ntt|ƒiƒdS(NRaR`s)doesn't have fields for a ThreadedMessage(RbRRTR_RW(R((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyRWÓs  cCst|dƒS(NRa(tfloat(R((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pytget_protocol_versionÙscCst|dƒS(NR`(Rd(R((s2/usr/lib/python2.6/site-packages/pyzor/__init__.pyt get_threadÜscCs!t|tƒt|ƒ|dsf                (%`