/usr/lib/python3/dist-packages/twisted/mail/__pycache__
Edit: /usr/lib/python3/dist-packages/twisted/mail/__pycache__/imap4.cpython-310.pyc (188717B)
o
¯bW: ã @ s
d Z ddlZddlZddlZddlZddlZddlZddlZddl Z ddl
Z
ddlZddlm
Z
mZ ddlmZ ddlmZ ddlmZmZmZ ddlmZ ddlmZ dd lmZmZ dd
lmZm Z m!Z! ddl"m#Z# ddl$m%Z%m&Z&m'Z'm(Z(m)Z) dd
l*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z: ddl;m
Z>m?Z@mAZBmCZDmEZFmGZHmIZJmKZLmMZNmOZOmPZQ ddlRmSZSmTZT ddlUmVZVmWZW ddlXmYZYmZZZm[Z[m\Z\m]Z] e^e_e`ddƒd a¡ ƒƒZbdd„ Zcdd„ ZdG dd„ dƒZeG dd„ dƒZfG dd„ dƒZgG dd „ d ƒZhG d!d"„ d"ƒZid#Zjekee`d$ƒe`d%d&ƒƒƒZld'ej el Zmem nd(¡Zoe pd)eo d* ¡Zqekd+d,„ e`d&ƒD ƒƒZreeFƒG d-d.„ d.eSjseTjtƒƒZue v¡ ZweeFƒG d/d0„ d0eSjseTjtƒƒZxdd1d2„Zyd3Zzd4Z{e|Z}džd5d6„Z~d7d8„ Zd9d:„ Z€dd;d<„Zd=d>„ Z‚d?d@„ ZƒdAdB„ Z„dŸdCdD„Z…dEdF„ Z†dGekdHekfdIdJ„Z‡G dKdL„ dLƒZˆdMZ‰dNdO„ ZŠdPdQ„ Z‹dRdS„ ZŒdTdU„ ZdVdW„ ZŽee=ƒG dXdY„ dYƒƒZeeOƒG dZd[„ d[eƒƒZd\d]d^d_d`daœZ‘dbdc„ Z’ddde„ Z“dfdg„ Z”dhdi„ Z•djdk„ Z–dldm„ Z—dndo„ Z˜G dpdq„ dqƒZ™G drds„ dse™ƒZšG dtdu„ duešƒZ›G dvdw„ dwešƒZœG dxdy„ dye™ƒZd d{d|„Zžd}d~„ ZŸdd€„ Z dd‚„ Z¡G dƒd„„ d„ƒZ¢G d…d†„ d†ƒZ£G d‡dˆ„ dˆƒZ¤d‰dŠ„ Z¥e¦e§d‹dŒd„ ƒZ¨dŽd„ Z©dd‘„ Zªdd’d“„Z«dd”d•„Z¬G d–d—„ d—ejƒZG d˜d™„ d™ej®ƒZ®e ¯e«e¬ee®¡Z°dšd›„ Z±e ²e±¡ g dœ¢Z³dS )¡aƒ
An IMAP4 protocol implementation
@author: Jp Calderone
To do::
Suspend idle timeout while server is processing
Use an async message parser instead of buffering in memory
Figure out a way to not queue multi-message client requests (Flow? A simple callback?)
Clarify some API docs (Query, etc)
Make APPEND recognize (again) non-existent mailboxes before accepting the literal
é N)ÚdecodebytesÚencodebytes)ÚBytesIO)Úchain)ÚAnyÚListÚcast)Úimplementer)Úcredentials)ÚUnauthorizedLoginÚUnhandledCredentials)ÚdeferÚerrorÚ
interfaces)Ú
maybeDeferred)ÚCramMD5ClientAuthenticatorÚLOGINAuthenticatorÚLOGINCredentialsÚPLAINAuthenticatorÚPLAINCredentials)ÚIllegalClientResponseÚIllegalIdentifierErrorÚIllegalMailboxEncodingÚIllegalOperationÚIllegalQueryErrorÚIllegalServerResponseÚIMAP4ExceptionÚMailboxCollisionÚMailboxExceptionÚMismatchedNestingÚMismatchedQuotingÚNegativeResponseÚ
NoSuchMailboxÚNoSupportedAuthenticationÚReadOnlyMailboxÚUnhandledResponse)ÚIAccountIMAPÚIClientAuthenticationÚICloseableMailboxIMAPÚIMailboxIMAPÚIMailboxIMAPInfoÚIMailboxIMAPListenerÚIMessageIMAPÚIMessageIMAPCopierÚIMessageIMAPFileÚIMessageIMAPPartÚINamespacePresenterÚISearchableIMAPMailbox)ÚbasicÚpolicies)ÚlogÚtext)Ú_get_async_paramÚ_matchingStringÚ iterbytesÚnativeStringÚ
networkStringé é
z/Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Decc C s | |u r|S | S )zô
Swap C{this} with C{that} if C{this} is C{ifIs}.
@param this: The object that may be replaced.
@param that: The object that may replace C{this}.
@param ifIs: An object whose identity will be compared to
C{this}.
© )ÚthisÚthatÚifIsr= r= ú4/usr/lib/python3/dist-packages/twisted/mail/imap4.pyÚ_swap` s rB c s ‡ ‡fdd„| D ƒS )a–
Swap each element in each pair in C{of} with C{that} it is
C{ifIs}.
@param of: A list of 2-L{tuple}s, whose members may be the object
C{that}
@type of: L{list} of 2-L{tuple}s
@param ifIs: An object whose identity will be compared to members
of each pair in C{of}
@return: A L{list} of 2-L{tuple}s with all occurences of C{ifIs}
replaced with C{that}
c s( g | ]\}}t |ˆˆ ƒt |ˆˆ ƒf‘qS r= )rB )Ú.0ÚfirstÚsecond©r@ r? r= rA Ú
} s ÿz!_swapAllPairs..r= )Úofr? r@ r= rF rA Ú
_swapAllPairsn s ÿrI c @ sÌ e Zd ZU dZg Zee ed<