PATH:
usr
/
lib64
/
python2.7
"""A POP3 client class. Based on the J. Myers POP3 draft, Jan. 96 """ # Author: David Ascher <david_ascher@brown.edu> # [heavily stealing from nntplib.py] # Updated: Piers Lauder <piers@cs.su.oz.au> [Jul '97] # String method conversion and test jig improvements by ESR, February 2001. # Added the POP3_SSL class. Methods loosely based on IMAP_SSL. Hector Urtubia <urtubia@mrbook.org> Aug 2003 # Example (see the test function at the end of this file) # Imports import re, socket __all__ = ["POP3","error_proto"] # Exception raised when an error or invalid response is received: class error_proto(Exception): pass # Standard Port POP3_PORT = 110 # POP SSL PORT POP3_SSL_PORT = 995 # Line terminators (we always output CRLF, but accept any of CRLF, LFCR, LF) CR = '\r' LF = '\n' CRLF = CR+LF # maximal line length when calling readline(). This is to prevent # reading arbitrary length lines. RFC 1939 limits POP3 line length to # 512 characters, including CRLF. We have selected 2048 just to be on # the safe side. _MAXLINE = 2048 class POP3: """This class supports both the minimal and optional command sets. Arguments can be strings or integers (where appropriate) (e.g.: retr(1) and retr('1') both work equally well. Minimal Command Set: USER name user(name) PASS string pass_(string) STAT stat() LIST [msg] list(msg = None) RETR msg retr(msg) DELE msg dele(msg) NOOP noop() RSET rset() QUIT quit() Optional Commands (some servers support these): RPOP name rpop(name) APOP name digest apop(name, digest) TOP msg n top(msg, n) UIDL [msg] uidl(msg = None) Raises one exception: 'error_proto'. Instantiate with: POP3(hostname, port=110) NB: the POP protocol locks the mailbox from user authorization until QUIT, so be sure to get in, suck the messages, and quit, each time you access the mailbox. POP is a line-based protocol, which means large mail messages consume lots of python cycles reading them line-by-line. If it's available on your mail server, use IMAP4 instead, it doesn't suffer from the two problems above. """ def __init__(self, host, port=POP3_PORT, timeout=socket._GLOBAL_DEFAULT_TIMEOUT): self.host = host self.port = port self.sock = socket.create_connection((host, port), timeout) self.file = self.sock.makefile('rb') self._debugging = 0 self.welcome = self._getresp() def _putline(self, line): if self._debugging > 1: print '*put*', repr(line) self.sock.sendall('%s%s' % (line, CRLF)) # Internal: send one command to the server (through _putline()) def _putcmd(self, line): if self._debugging: print '*cmd*', repr(line) self._putline(line) # Internal: return one line from the server, stripping CRLF. # This is where all the CPU time of this module is consumed. # Raise error_proto('-ERR EOF') if the connection is closed. def _getline(self): line = self.file.readline(_MAXLINE + 1) if len(line) > _MAXLINE: raise error_proto('line too long') if self._debugging > 1: print '*get*', repr(line) if not line: raise error_proto('-ERR EOF') octets = len(line) # server can send any combination of CR & LF # however, 'readline()' returns lines ending in LF # so only possibilities are ...LF, ...CRLF, CR...LF if line[-2:] == CRLF: return line[:-2], octets if line[0] == CR: return line[1:-1], octets return line[:-1], octets # Internal: get a response from the server. # Raise 'error_proto' if the response doesn't start with '+'. def _getresp(self): resp, o = self._getline() if self._debugging > 1: print '*resp*', repr(resp) c = resp[:1] if c != '+': raise error_proto(resp) return resp # Internal: get a response plus following text from the server. def _getlongresp(self): resp = self._getresp() list = []; octets = 0 line, o = self._getline() while line != '.': if line[:2] == '..': o = o-1 line = line[1:] octets = octets + o list.append(line) line, o = self._getline() return resp, list, octets # Internal: send a command and get the response def _shortcmd(self, line): self._putcmd(line) return self._getresp() # Internal: send a command and get the response plus following text def _longcmd(self, line): self._putcmd(line) return self._getlongresp() # These can be useful: def getwelcome(self): return self.welcome def set_debuglevel(self, level): self._debugging = level # Here are all the POP commands: def user(self, user): """Send user name, return response (should indicate password required). """ return self._shortcmd('USER %s' % user) def pass_(self, pswd): """Send password, return response (response includes message count, mailbox size). NB: mailbox is locked by server from here to 'quit()' """ return self._shortcmd('PASS %s' % pswd) def stat(self): """Get mailbox status. Result is tuple of 2 ints (message count, mailbox size) """ retval = self._shortcmd('STAT') rets = retval.split() if self._debugging: print '*stat*', repr(rets) numMessages = int(rets[1]) sizeMessages = int(rets[2]) return (numMessages, sizeMessages) def list(self, which=None): """Request listing, return result. Result without a message number argument is in form ['response', ['mesg_num octets', ...], octets]. Result when a message number argument is given is a single response: the "scan listing" for that message. """ if which is not None: return self._shortcmd('LIST %s' % which) return self._longcmd('LIST') def retr(self, which): """Retrieve whole message number 'which'. Result is in form ['response', ['line', ...], octets]. """ return self._longcmd('RETR %s' % which) def dele(self, which): """Delete message number 'which'. Result is 'response'. """ return self._shortcmd('DELE %s' % which) def noop(self): """Does nothing. One supposes the response indicates the server is alive. """ return self._shortcmd('NOOP') def rset(self): """Unmark all messages marked for deletion.""" return self._shortcmd('RSET') def quit(self): """Signoff: commit changes on server, unlock mailbox, close connection.""" try: resp = self._shortcmd('QUIT') except error_proto, val: resp = val self.file.close() self.sock.close() del self.file, self.sock return resp #__del__ = quit # optional commands: def rpop(self, user): """Not sure what this does.""" return self._shortcmd('RPOP %s' % user) timestamp = re.compile(br'\+OK.[^<]*(<.*>)') def apop(self, user, secret): """Authorisation - only possible if server has supplied a timestamp in initial greeting. Args: user - mailbox user; secret - secret shared between client and server. NB: mailbox is locked by server from here to 'quit()' """ m = self.timestamp.match(self.welcome) if not m: raise error_proto('-ERR APOP not supported by server') import hashlib digest = hashlib.md5(m.group(1)+secret).digest() digest = ''.join(map(lambda x:'%02x'%ord(x), digest)) return self._shortcmd('APOP %s %s' % (user, digest)) def top(self, which, howmuch): """Retrieve message header of message number 'which' and first 'howmuch' lines of message body. Result is in form ['response', ['line', ...], octets]. """ return self._longcmd('TOP %s %s' % (which, howmuch)) def uidl(self, which=None): """Return message digest (unique id) list. If 'which', result contains unique id for that message in the form 'response mesgnum uid', otherwise result is the list ['response', ['mesgnum uid', ...], octets] """ if which is not None: return self._shortcmd('UIDL %s' % which) return self._longcmd('UIDL') try: import ssl except ImportError: pass else: class POP3_SSL(POP3): """POP3 client class over SSL connection Instantiate with: POP3_SSL(hostname, port=995, keyfile=None, certfile=None) hostname - the hostname of the pop3 over ssl server port - port number keyfile - PEM formatted file that countains your private key certfile - PEM formatted certificate chain file See the methods of the parent class POP3 for more documentation. """ def __init__(self, host, port = POP3_SSL_PORT, keyfile = None, certfile = None): self.host = host self.port = port self.keyfile = keyfile self.certfile = certfile self.buffer = "" msg = "getaddrinfo returns an empty list" self.sock = None for res in socket.getaddrinfo(self.host, self.port, 0, socket.SOCK_STREAM): af, socktype, proto, canonname, sa = res try: self.sock = socket.socket(af, socktype, proto) self.sock.connect(sa) except socket.error, msg: if self.sock: self.sock.close() self.sock = None continue break if not self.sock: raise socket.error, msg self.file = self.sock.makefile('rb') self.sslobj = ssl.wrap_socket(self.sock, self.keyfile, self.certfile) self._debugging = 0 self.welcome = self._getresp() def _fillBuffer(self): localbuf = self.sslobj.read() if len(localbuf) == 0: raise error_proto('-ERR EOF') self.buffer += localbuf def _getline(self): line = "" renewline = re.compile(r'.*?\n') match = renewline.match(self.buffer) while not match: self._fillBuffer() if len(self.buffer) > _MAXLINE: raise error_proto('line too long') match = renewline.match(self.buffer) line = match.group(0) self.buffer = renewline.sub('' ,self.buffer, 1) if self._debugging > 1: print '*get*', repr(line) octets = len(line) if line[-2:] == CRLF: return line[:-2], octets if line[0] == CR: return line[1:-1], octets return line[:-1], octets def _putline(self, line): if self._debugging > 1: print '*put*', repr(line) line += CRLF bytes = len(line) while bytes > 0: sent = self.sslobj.write(line) if sent == bytes: break # avoid copy line = line[sent:] bytes = bytes - sent def quit(self): """Signoff: commit changes on server, unlock mailbox, close connection.""" try: resp = self._shortcmd('QUIT') except error_proto, val: resp = val self.sock.close() del self.sslobj, self.sock return resp __all__.append("POP3_SSL") if __name__ == "__main__": import sys a = POP3(sys.argv[1]) print a.getwelcome() a.user(sys.argv[2]) a.pass_(sys.argv[3]) a.list() (numMsgs, totalSize) = a.stat() for i in range(1, numMsgs + 1): (header, msg, octets) = a.retr(i) print "Message %d:" % i for line in msg: print ' ' + line print '-----------------------' a.quit()
[+]
..
[-] __phello__.foo.py
[edit]
[-] this.pyo
[edit]
[-] md5.pyc
[edit]
[-] contextlib.pyc
[edit]
[-] zipfile.py
[edit]
[-] stringold.pyc
[edit]
[-] UserList.pyc
[edit]
[-] audiodev.pyo
[edit]
[-] shlex.pyc
[edit]
[-] new.pyo
[edit]
[-] asyncore.pyc
[edit]
[-] SimpleXMLRPCServer.pyc
[edit]
[-] tabnanny.py
[edit]
[-] mailcap.pyo
[edit]
[-] collections.pyo
[edit]
[-] cmd.py
[edit]
[-] ihooks.pyc
[edit]
[-] cProfile.py
[edit]
[-] sunau.pyc
[edit]
[-] commands.pyo
[edit]
[-] tempfile.py
[edit]
[-] ast.pyo
[edit]
[-] sre.pyc
[edit]
[-] __phello__.foo.pyo
[edit]
[-] rfc822.py
[edit]
[-] argparse.py
[edit]
[-] keyword.pyc
[edit]
[-] tty.pyo
[edit]
[-] pickletools.pyo
[edit]
[-] mimetools.py
[edit]
[-] platform.py
[edit]
[-] platform.pyc
[edit]
[-] difflib.pyc
[edit]
[-] weakref.pyo
[edit]
[-] wsgiref.egg-info
[edit]
[-] xmllib.pyo
[edit]
[-] fpformat.pyc
[edit]
[-] imghdr.pyo
[edit]
[-] binhex.py
[edit]
[-] antigravity.py
[edit]
[-] sysconfig.pyc
[edit]
[+]
curses
[-] commands.py
[edit]
[-] chunk.pyo
[edit]
[-] sre_compile.pyc
[edit]
[-] ssl.pyc
[edit]
[-] random.pyc
[edit]
[-] ConfigParser.py
[edit]
[-] xdrlib.pyc
[edit]
[-] inspect.py
[edit]
[-] linecache.pyo
[edit]
[-] sunaudio.py
[edit]
[-] repr.py
[edit]
[-] stringold.py
[edit]
[-] _sysconfigdata.pyo
[edit]
[-] sunau.py
[edit]
[-] threading.pyc
[edit]
[-] os.pyc
[edit]
[-] HTMLParser.pyc
[edit]
[-] ihooks.py
[edit]
[-] imghdr.py
[edit]
[-] sha.pyc
[edit]
[-] textwrap.pyc
[edit]
[-] Queue.py
[edit]
[-] _osx_support.pyo
[edit]
[-] random.py
[edit]
[+]
hotshot
[-] macpath.py
[edit]
[-] compileall.pyo
[edit]
[-] weakref.pyc
[edit]
[-] hmac.py
[edit]
[-] heapq.pyc
[edit]
[-] base64.py
[edit]
[-] doctest.pyc
[edit]
[-] sre_constants.pyc
[edit]
[-] copy_reg.py
[edit]
[-] _sysconfigdata.py
[edit]
[-] cgitb.py
[edit]
[-] dumbdbm.pyc
[edit]
[-] binhex.pyo
[edit]
[-] statvfs.py
[edit]
[-] _abcoll.pyc
[edit]
[-] rexec.pyc
[edit]
[-] stringprep.py
[edit]
[-] nturl2path.pyo
[edit]
[-] urllib2.py
[edit]
[+]
Tools
[-] mimetools.pyc
[edit]
[-] StringIO.py
[edit]
[-] ast.py
[edit]
[-] trace.pyo
[edit]
[-] warnings.pyc
[edit]
[-] sre.pyo
[edit]
[-] py_compile.pyo
[edit]
[-] textwrap.py
[edit]
[-] _pyio.pyc
[edit]
[-] glob.pyc
[edit]
[-] UserList.py
[edit]
[-] statvfs.pyc
[edit]
[-] runpy.pyo
[edit]
[-] dis.py
[edit]
[-] chunk.py
[edit]
[-] this.py
[edit]
[-] py_compile.py
[edit]
[-] _threading_local.pyc
[edit]
[-] shelve.pyc
[edit]
[-] fnmatch.py
[edit]
[-] pstats.pyo
[edit]
[-] colorsys.pyo
[edit]
[-] robotparser.pyo
[edit]
[-] popen2.pyo
[edit]
[-] xmllib.py
[edit]
[-] dbhash.py
[edit]
[-] SocketServer.py
[edit]
[-] plistlib.pyo
[edit]
[-] robotparser.py
[edit]
[-] zipfile.pyo
[edit]
[-] py_compile.pyc
[edit]
[-] keyword.pyo
[edit]
[-] HTMLParser.py
[edit]
[-] sets.py
[edit]
[-] httplib.py
[edit]
[+]
xml
[-] netrc.pyc
[edit]
[-] posixpath.pyo
[edit]
[-] opcode.py
[edit]
[+]
Doc
[-] BaseHTTPServer.pyc
[edit]
[-] dbhash.pyc
[edit]
[-] mimetypes.pyo
[edit]
[+]
site-packages
[-] cProfile.pyc
[edit]
[-] smtplib.pyc
[edit]
[+]
bsddb
[-] pydoc.pyc
[edit]
[-] mutex.pyo
[edit]
[-] sre_compile.py
[edit]
[-] commands.pyc
[edit]
[-] posixfile.pyo
[edit]
[-] pipes.pyo
[edit]
[-] _pyio.py
[edit]
[-] cgi.pyo
[edit]
[-] mhlib.pyo
[edit]
[-] site.pyo
[edit]
[-] base64.pyc
[edit]
[-] pty.py
[edit]
[-] macurl2path.py
[edit]
[-] _abcoll.py
[edit]
[-] tempfile.pyo
[edit]
[-] atexit.pyo
[edit]
[-] _sysconfigdata.pyc
[edit]
[-] rexec.pyo
[edit]
[-] numbers.pyo
[edit]
[-] anydbm.pyc
[edit]
[+]
lib2to3
[-] statvfs.pyo
[edit]
[+]
wsgiref
[+]
lib-tk
[-] heapq.py
[edit]
[-] keyword.py
[edit]
[-] antigravity.pyo
[edit]
[-] codecs.py
[edit]
[-] shlex.pyo
[edit]
[-] quopri.pyo
[edit]
[-] base64.pyo
[edit]
[-] HTMLParser.pyo
[edit]
[-] mimify.pyc
[edit]
[-] stat.pyc
[edit]
[-] pickletools.py
[edit]
[-] compileall.py
[edit]
[-] pickle.pyc
[edit]
[-] cookielib.pyc
[edit]
[-] nturl2path.py
[edit]
[-] urllib.py
[edit]
[+]
idlelib
[-] warnings.py
[edit]
[-] shutil.py
[edit]
[-] mailbox.pyc
[edit]
[-] socket.py
[edit]
[-] pdb.doc
[edit]
[-] pdb.py
[edit]
[-] toaiff.pyo
[edit]
[-] io.pyo
[edit]
[-] timeit.pyo
[edit]
[-] pdb.pyc
[edit]
[-] types.pyc
[edit]
[-] pyclbr.pyc
[edit]
[-] popen2.py
[edit]
[-] doctest.pyo
[edit]
[-] pprint.pyc
[edit]
[-] macurl2path.pyo
[edit]
[-] formatter.py
[edit]
[-] xmllib.pyc
[edit]
[-] hashlib.pyo
[edit]
[-] traceback.pyo
[edit]
[-] types.py
[edit]
[-] locale.pyc
[edit]
[-] runpy.py
[edit]
[-] Cookie.py
[edit]
[-] xmlrpclib.pyc
[edit]
[-] DocXMLRPCServer.pyo
[edit]
[-] ConfigParser.pyo
[edit]
[-] stringprep.pyo
[edit]
[-] _strptime.pyo
[edit]
[-] shutil.pyo
[edit]
[-] uu.py
[edit]
[-] telnetlib.pyo
[edit]
[-] macpath.pyc
[edit]
[-] sndhdr.pyo
[edit]
[-] sets.pyo
[edit]
[-] tempfile.pyc
[edit]
[-] htmlentitydefs.py
[edit]
[-] macpath.pyo
[edit]
[-] _threading_local.py
[edit]
[-] getpass.pyo
[edit]
[-] difflib.pyo
[edit]
[-] mailcap.py
[edit]
[-] heapq.pyo
[edit]
[-] os2emxpath.py
[edit]
[-] textwrap.pyo
[edit]
[-] sysconfig.pyo
[edit]
[-] rfc822.pyo
[edit]
[-] optparse.pyo
[edit]
[-] sndhdr.pyc
[edit]
[-] genericpath.pyc
[edit]
[-] atexit.pyc
[edit]
[-] inspect.pyc
[edit]
[-] tty.pyc
[edit]
[-] chunk.pyc
[edit]
[-] md5.pyo
[edit]
[-] getpass.pyc
[edit]
[-] bdb.pyo
[edit]
[-] DocXMLRPCServer.py
[edit]
[-] SimpleHTTPServer.pyo
[edit]
[-] mhlib.pyc
[edit]
[-] _LWPCookieJar.pyc
[edit]
[-] imaplib.pyo
[edit]
[-] codeop.pyo
[edit]
[-] pkgutil.pyc
[edit]
[-] bisect.py
[edit]
[-] linecache.py
[edit]
[-] aifc.pyo
[edit]
[-] calendar.pyc
[edit]
[-] contextlib.pyo
[edit]
[-] warnings.pyo
[edit]
[-] _weakrefset.pyo
[edit]
[-] genericpath.pyo
[edit]
[-] colorsys.py
[edit]
[-] UserDict.pyc
[edit]
[-] subprocess.pyo
[edit]
[-] aifc.pyc
[edit]
[-] anydbm.pyo
[edit]
[-] multifile.pyo
[edit]
[-] modulefinder.pyc
[edit]
[-] tokenize.pyc
[edit]
[-] mutex.py
[edit]
[-] urllib.pyo
[edit]
[-] glob.py
[edit]
[+]
plat-linux2
[-] mailcap.pyc
[edit]
[-] mimetypes.pyc
[edit]
[-] sndhdr.py
[edit]
[-] functools.pyc
[edit]
[-] cProfile.pyo
[edit]
[-] abc.pyo
[edit]
[-] ssl.py
[edit]
[-] dis.pyc
[edit]
[-] collections.py
[edit]
[-] _strptime.py
[edit]
[-] rlcompleter.pyc
[edit]
[-] _LWPCookieJar.pyo
[edit]
[-] fpformat.pyo
[edit]
[-] sre_compile.pyo
[edit]
[-] csv.pyo
[edit]
[-] trace.pyc
[edit]
[-] wave.pyo
[edit]
[-] asynchat.pyc
[edit]
[-] code.pyc
[edit]
[-] Bastion.pyo
[edit]
[-] modulefinder.pyo
[edit]
[-] contextlib.py
[edit]
[-] argparse.pyo
[edit]
[-] user.py
[edit]
[-] filecmp.py
[edit]
[-] rfc822.pyc
[edit]
[-] sunaudio.pyo
[edit]
[-] decimal.pyc
[edit]
[+]
logging
[-] sre_parse.pyc
[edit]
[-] _weakrefset.pyc
[edit]
[-] posixpath.pyc
[edit]
[-] gzip.pyc
[edit]
[-] new.pyc
[edit]
[-] code.pyo
[edit]
[-] getopt.pyc
[edit]
[-] copy.pyo
[edit]
[-] filecmp.pyc
[edit]
[-] socket.pyc
[edit]
[-] dircache.pyo
[edit]
[-] xdrlib.pyo
[edit]
[-] platform.pyo
[edit]
[-] pyclbr.pyo
[edit]
[-] token.py
[edit]
[-] pipes.pyc
[edit]
[-] gzip.py
[edit]
[-] copy.pyc
[edit]
[-] string.py
[edit]
[-] toaiff.pyc
[edit]
[-] genericpath.py
[edit]
[-] _osx_support.pyc
[edit]
[-] _osx_support.py
[edit]
[-] sre_parse.pyo
[edit]
[-] pickletools.pyc
[edit]
[-] stat.py
[edit]
[-] Bastion.pyc
[edit]
[-] mimify.pyo
[edit]
[-] __future__.py
[edit]
[+]
distutils
[-] dummy_threading.py
[edit]
[-] webbrowser.py
[edit]
[-] Queue.pyo
[edit]
[-] dircache.py
[edit]
[-] posixfile.pyc
[edit]
[-] os2emxpath.pyc
[edit]
[-] symtable.py
[edit]
[+]
lib-dynload
[-] getopt.py
[edit]
[-] antigravity.pyc
[edit]
[-] _threading_local.pyo
[edit]
[-] dumbdbm.pyo
[edit]
[-] wave.py
[edit]
[-] urllib.pyc
[edit]
[-] codeop.py
[edit]
[-] httplib.pyc
[edit]
[-] abc.py
[edit]
[-] whichdb.py
[edit]
[-] socket.pyo
[edit]
[-] uu.pyo
[edit]
[+]
pydoc_data
[-] formatter.pyc
[edit]
[-] copy_reg.pyo
[edit]
[-] toaiff.py
[edit]
[-] site.pyc
[edit]
[-] profile.pyc
[edit]
[-] markupbase.pyc
[edit]
[-] SocketServer.pyo
[edit]
[-] codecs.pyc
[edit]
[-] httplib.pyo
[edit]
[-] telnetlib.py
[edit]
[-] _MozillaCookieJar.pyc
[edit]
[-] __future__.pyc
[edit]
[+]
unittest
[-] fileinput.py
[edit]
[-] ihooks.pyo
[edit]
[-] atexit.py
[edit]
[-] Bastion.py
[edit]
[-] ftplib.py
[edit]
[+]
ctypes
[-] sched.pyc
[edit]
[-] SimpleHTTPServer.py
[edit]
[-] pipes.py
[edit]
[-] pydoc.pyo
[edit]
[-] posixfile.py
[edit]
[-] ntpath.pyo
[edit]
[-] aifc.py
[edit]
[-] Queue.pyc
[edit]
[-] pickle.pyo
[edit]
[-] binhex.pyc
[edit]
[-] shelve.pyo
[edit]
[-] pprint.py
[edit]
[-] asynchat.pyo
[edit]
[-] os.pyo
[edit]
[-] hashlib.pyc
[edit]
[-] io.pyc
[edit]
[-] imghdr.pyc
[edit]
[-] difflib.py
[edit]
[-] filecmp.pyo
[edit]
[-] uuid.py
[edit]
[-] optparse.pyc
[edit]
[-] cgitb.pyc
[edit]
[-] threading.py
[edit]
[-] plistlib.pyc
[edit]
[-] robotparser.pyc
[edit]
[-] urllib2.pyc
[edit]
[-] dbhash.pyo
[edit]
[-] shutil.pyc
[edit]
[-] multifile.pyc
[edit]
[-] sre_parse.py
[edit]
[-] netrc.pyo
[edit]
[-] htmllib.pyo
[edit]
[-] whichdb.pyc
[edit]
[-] subprocess.py
[edit]
[-] pdb.pyo
[edit]
[+]
importlib
[-] bisect.pyc
[edit]
[-] getpass.py
[edit]
[-] fractions.pyo
[edit]
[-] dummy_threading.pyc
[edit]
[-] gettext.pyc
[edit]
[-] trace.py
[edit]
[-] struct.py
[edit]
[-] imputil.pyc
[edit]
[-] locale.pyo
[edit]
[-] SocketServer.pyc
[edit]
[-] token.pyc
[edit]
[-] mimify.py
[edit]
[-] uu.pyc
[edit]
[-] dis.pyo
[edit]
[-] crypt.pyo
[edit]
[-] repr.pyc
[edit]
[-] smtpd.pyc
[edit]
[-] rexec.py
[edit]
[-] plistlib.py
[edit]
[-] mhlib.py
[edit]
[-] traceback.pyc
[edit]
[-] SimpleXMLRPCServer.py
[edit]
[-] StringIO.pyo
[edit]
[-] CGIHTTPServer.pyo
[edit]
[-] string.pyc
[edit]
[-] crypt.pyc
[edit]
[-] asynchat.py
[edit]
[-] dummy_threading.pyo
[edit]
[-] fractions.py
[edit]
[-] shlex.py
[edit]
[-] _MozillaCookieJar.pyo
[edit]
[-] opcode.pyo
[edit]
[-] stringold.pyo
[edit]
[-] ftplib.pyo
[edit]
[-] fnmatch.pyo
[edit]
[+]
compiler
[-] bdb.py
[edit]
[-] repr.pyo
[edit]
[-] locale.py
[edit]
[-] calendar.py
[edit]
[-] _LWPCookieJar.py
[edit]
[-] poplib.py
[edit]
[-] codecs.pyo
[edit]
[-] posixpath.py
[edit]
[-] cookielib.pyo
[edit]
[-] user.pyo
[edit]
[-] imaplib.py
[edit]
[-] SimpleHTTPServer.pyc
[edit]
[+]
config
[-] imputil.py
[edit]
[-] symbol.pyc
[edit]
[-] tarfile.pyo
[edit]
[-] UserString.pyo
[edit]
[-] cmd.pyo
[edit]
[-] _abcoll.pyo
[edit]
[-] pickle.py
[edit]
[-] symtable.pyc
[edit]
[-] timeit.py
[edit]
[-] SimpleXMLRPCServer.pyo
[edit]
[-] tabnanny.pyo
[edit]
[-] urllib2.pyo
[edit]
[-] symtable.pyo
[edit]
[-] MimeWriter.pyc
[edit]
[+]
json
[-] string.pyo
[edit]
[-] imaplib.pyc
[edit]
[-] traceback.py
[edit]
[-] nntplib.pyc
[edit]
[-] random.pyo
[edit]
[+]
multiprocessing
[-] collections.pyc
[edit]
[-] shelve.py
[edit]
[-] rlcompleter.pyo
[edit]
[-] sha.py
[edit]
[-] __phello__.foo.pyc
[edit]
[-] timeit.pyc
[edit]
[-] dummy_thread.py
[edit]
[-] inspect.pyo
[edit]
[-] pprint.pyo
[edit]
[-] csv.py
[edit]
[-] htmllib.py
[edit]
[-] tarfile.py
[edit]
[-] sgmllib.py
[edit]
[-] numbers.py
[edit]
[-] glob.pyo
[edit]
[-] formatter.pyo
[edit]
[-] uuid.pyo
[edit]
[-] optparse.py
[edit]
[-] decimal.pyo
[edit]
[-] cgi.py
[edit]
[-] getopt.pyo
[edit]
[-] pstats.py
[edit]
[-] dumbdbm.py
[edit]
[-] colorsys.pyc
[edit]
[-] md5.py
[edit]
[-] profile.pyo
[edit]
[-] ssl.pyo
[edit]
[-] quopri.pyc
[edit]
[-] crypt.py
[edit]
[-] fileinput.pyo
[edit]
[-] htmlentitydefs.pyc
[edit]
[-] urlparse.py
[edit]
[-] site.py
[edit]
[-] pkgutil.py
[edit]
[-] re.py
[edit]
[-] nturl2path.pyc
[edit]
[-] pyclbr.py
[edit]
[-] markupbase.pyo
[edit]
[-] pydoc.py
[edit]
[-] markupbase.py
[edit]
[-] fpformat.py
[edit]
[-] mutex.pyc
[edit]
[-] sre_constants.py
[edit]
[-] uuid.pyc
[edit]
[-] webbrowser.pyc
[edit]
[-] dircache.pyc
[edit]
[-] xdrlib.py
[edit]
[-] mailbox.pyo
[edit]
[-] abc.pyc
[edit]
[-] nntplib.py
[edit]
[-] gzip.pyo
[edit]
[-] sre.py
[edit]
[-] fileinput.pyc
[edit]
[-] ftplib.pyc
[edit]
[-] macurl2path.pyc
[edit]
[-] mimetypes.py
[edit]
[-] linecache.pyc
[edit]
[-] hmac.pyc
[edit]
[-] anydbm.py
[edit]
[-] _MozillaCookieJar.py
[edit]
[-] _pyio.pyo
[edit]
[-] stat.pyo
[edit]
[-] urlparse.pyc
[edit]
[-] fnmatch.pyc
[edit]
[+]
email
[-] poplib.pyc
[edit]
[-] UserString.py
[edit]
[-] wave.pyc
[edit]
[-] quopri.py
[edit]
[-] tarfile.pyc
[edit]
[-] sha.pyo
[edit]
[-] doctest.py
[edit]
[-] re.pyo
[edit]
[-] cgitb.pyo
[edit]
[-] __future__.pyo
[edit]
[-] asyncore.pyo
[edit]
[-] codeop.pyc
[edit]
[-] audiodev.pyc
[edit]
[-] zipfile.pyc
[edit]
[-] copy_reg.pyc
[edit]
[-] sunau.pyo
[edit]
[-] profile.py
[edit]
[-] gettext.pyo
[edit]
[-] smtpd.pyo
[edit]
[-] BaseHTTPServer.pyo
[edit]
[-] pty.pyc
[edit]
[-] sched.py
[edit]
[-] hashlib.py
[edit]
[-] symbol.pyo
[edit]
[-] sets.pyc
[edit]
[-] Cookie.pyo
[edit]
[-] telnetlib.pyc
[edit]
[-] numbers.pyc
[edit]
[-] opcode.pyc
[edit]
[-] functools.py
[edit]
[-] smtplib.py
[edit]
[-] copy.py
[edit]
[-] pty.pyo
[edit]
[-] tty.py
[edit]
[-] new.py
[edit]
[-] token.pyo
[edit]
[-] subprocess.pyc
[edit]
[-] os.py
[edit]
[-] cmd.pyc
[edit]
[-] sgmllib.pyo
[edit]
[-] UserDict.py
[edit]
[-] sre_constants.pyo
[edit]
[-] tabnanny.pyc
[edit]
[-] webbrowser.pyo
[edit]
[-] this.pyc
[edit]
[-] xmlrpclib.py
[edit]
[-] _weakrefset.py
[edit]
[-] netrc.py
[edit]
[-] UserDict.pyo
[edit]
[-] user.pyc
[edit]
[-] xmlrpclib.pyo
[edit]
[-] struct.pyo
[edit]
[-] code.py
[edit]
[-] asyncore.py
[edit]
[-] cgi.pyc
[edit]
[-] tokenize.py
[edit]
[-] argparse.pyc
[edit]
[-] runpy.pyc
[edit]
[-] types.pyo
[edit]
[-] pstats.pyc
[edit]
[-] sched.pyo
[edit]
[-] mimetools.pyo
[edit]
[+]
encodings
[-] struct.pyc
[edit]
[-] multifile.py
[edit]
[-] io.py
[edit]
[-] smtpd.py
[edit]
[-] Cookie.pyc
[edit]
[-] sysconfig.py
[edit]
[-] compileall.pyc
[edit]
[-] BaseHTTPServer.py
[edit]
[+]
Demo
[-] bdb.pyc
[edit]
[-] decimal.py
[edit]
[-] csv.pyc
[edit]
[-] calendar.pyo
[edit]
[-] functools.pyo
[edit]
[-] sgmllib.pyc
[edit]
[-] stringprep.pyc
[edit]
[+]
sqlite3
[-] tokenize.pyo
[edit]
[-] rlcompleter.py
[edit]
[-] CGIHTTPServer.py
[edit]
[-] urlparse.pyo
[edit]
[-] htmllib.pyc
[edit]
[-] dummy_thread.pyc
[edit]
[-] whichdb.pyo
[edit]
[-] bisect.pyo
[edit]
[-] UserList.pyo
[edit]
[-] popen2.pyc
[edit]
[-] StringIO.pyc
[edit]
[-] imputil.pyo
[edit]
[-] ntpath.py
[edit]
[+]
test
[-] DocXMLRPCServer.pyc
[edit]
[-] UserString.pyc
[edit]
[-] weakref.py
[edit]
[-] poplib.pyo
[edit]
[-] fractions.pyc
[edit]
[-] ConfigParser.pyc
[edit]
[-] symbol.py
[edit]
[-] modulefinder.py
[edit]
[-] ast.pyc
[edit]
[-] audiodev.py
[edit]
[-] nntplib.pyo
[edit]
[-] hmac.pyo
[edit]
[-] htmlentitydefs.pyo
[edit]
[-] cookielib.py
[edit]
[-] os2emxpath.pyo
[edit]
[-] _strptime.pyc
[edit]
[-] re.pyc
[edit]
[-] sunaudio.pyc
[edit]
[-] MimeWriter.py
[edit]
[-] threading.pyo
[edit]
[-] dummy_thread.pyo
[edit]
[-] gettext.py
[edit]
[-] CGIHTTPServer.pyc
[edit]
[-] smtplib.pyo
[edit]
[-] pkgutil.pyo
[edit]
[-] MimeWriter.pyo
[edit]
[-] ntpath.pyc
[edit]
[-] mailbox.py
[edit]