shell bypass 403

UnknownSec Shell

: /proc/thread-self/root/lib64/python2.7/ [ drwxr-xr-x ]

name : MimeWriter.pyo
�
zfc@sldZddlZdgZddlZejded�ddd��YZedkrhddlZ	ndS(	s�Generic MIME writer.

This module defines the class MimeWriter.  The MimeWriter class implements
a basic formatter for creating MIME multi-part files.  It doesn't seek around
the output file nor does it use large amounts of buffer space. You must write
the parts out in the order that they should occur in the final file.
MimeWriter does buffer the headers you add, allowing you to rearrange their
order.

i����Nt
MimeWritersBthe MimeWriter module is deprecated; use the email package insteadicBs_eZdZd�Zdd�Zd�Zgdd�Zd
gdd�Zd�Z	d	�Z
RS(sOGeneric MIME writer.

    Methods:

    __init__()
    addheader()
    flushheaders()
    startbody()
    startmultipartbody()
    nextpart()
    lastpart()

    A MIME writer is much more primitive than a MIME parser.  It
    doesn't seek around on the output file, and it doesn't use large
    amounts of buffer space, so you have to write the parts in the
    order they should occur on the output file.  It does buffer the
    headers you add, allowing you to rearrange their order.

    General usage is:

    f = <open the output file>
    w = MimeWriter(f)
    ...call w.addheader(key, value) 0 or more times...

    followed by either:

    f = w.startbody(content_type)
    ...call f.write(data) for body data...

    or:

    w.startmultipartbody(subtype)
    for each part:
        subwriter = w.nextpart()
        ...use the subwriter's methods to create the subpart...
    w.lastpart()

    The subwriter is another MimeWriter instance, and should be
    treated in the same way as the toplevel MimeWriter.  This way,
    writing recursive body parts is easy.

    Warning: don't forget to call lastpart()!

    XXX There should be more state so calls made in the wrong order
    are detected.

    Some special cases:

    - startbody() just returns the file passed to the constructor;
      but don't use this knowledge, as it may be changed.

    - startmultipartbody() actually returns a file as well;
      this can be used to write the initial 'if you can read this your
      mailer is not MIME-aware' message.

    - If you call flushheaders(), the headers accumulated so far are
      written out (and forgotten); this is useful if you don't need a
      body part at all, e.g. for a subpart of type message/rfc822
      that's (mis)used to store some header-like information.

    - Passing a keyword argument 'prefix=<flag>' to addheader(),
      start*body() affects where the header is inserted; 0 means
      append at the end, 1 means insert at the start; default is
      append for addheader(), but insert for start*body(), which use
      it to determine where the Content-Type header goes.

    cCs||_g|_dS(N(t_fpt_headers(tselftfp((s"/usr/lib64/python2.7/MimeWriter.pyt__init__\s	icCs�|jd�}x|r-|dr-|d=qWx|rL|drL|d=q1Wx5tdt|��D]}d||j�||<qcWdj|�d}|d|}|r�|jjd|�n|jj|�dS(sHAdd a header line to the MIME message.

        The key is the name of the header, where the value obviously provides
        the value of the header. The optional argument prefix determines
        where the header is inserted; 0 means append at the end, 1 means
        insert at the start. The default is to append.

        s
i����iis    s: N(tsplittrangetlentstriptjoinRtinserttappend(Rtkeytvaluetprefixtlinestitline((s"/usr/lib64/python2.7/MimeWriter.pyt	addheader`s	cCs |jj|j�g|_dS(s�Writes out and forgets all headers accumulated so far.

        This is useful if you don't need a body part at all; for example,
        for a subpart of type message/rfc822 that's (mis)used to store some
        header-like information.

        N(Rt
writelinesR(R((s"/usr/lib64/python2.7/MimeWriter.pytflushheadersusicCsbx(|D] \}}|d||f}qW|jd|d|�|j�|jjd�|jS(s�Returns a file-like object for writing the body of the message.

        The content-type is set to the provided ctype, and the optional
        parameter, plist, provides additional parameters for the
        content-type declaration.  The optional argument prefix determines
        where the header is inserted; 0 means append at the end, 1 means
        insert at the start. The default is to insert at the start.

        s
;
 %s="%s"sContent-TypeRs
(RRRtwrite(RtctypetplistRtnameR((s"/usr/lib64/python2.7/MimeWriter.pyt	startbody�s

cCs?|ptj�|_|jd|d|jfg|d|�S(srReturns a file-like object for writing the body of the message.

        Additionally, this method initializes the multi-part code, where the
        subtype parameter provides the multipart subtype, the boundary
        parameter may provide a user-defined boundary specification, and the
        plist parameter provides optional parameters for the subtype.  The
        optional argument, prefix, determines where the header is inserted;
        0 means append at the end, 1 means insert at the start. The default
        is to insert at the start.  Subparts should be created using the
        nextpart() method.

        s
multipart/tboundaryR(t	mimetoolstchoose_boundaryt	_boundaryR(RtsubtypeRRR((s"/usr/lib64/python2.7/MimeWriter.pytstartmultipartbody�s

cCs+|jjd|jd�|j|j�S(sjReturns a new instance of MimeWriter which represents an
        individual part in a multipart message.

        This may be used to write the part as well as used for creating
        recursively complex multipart messages. The message must first be
        initialized with the startmultipartbody() method before using the
        nextpart() method.

        s
--s
(RRRt	__class__(R((s"/usr/lib64/python2.7/MimeWriter.pytnextpart�s
cCs|jjd|jd�dS(s�This is used to designate the last part of a multipart message.

        It should always be used when writing multipart messages.

        s
--s--
N(RRR(R((s"/usr/lib64/python2.7/MimeWriter.pytlastpart�sN(t__name__t
__module__t__doc__RRRRtNoneR R"R#(((s"/usr/lib64/python2.7/MimeWriter.pyRsD			
t__main__((
R&Rt__all__twarningstwarntDeprecationWarningRR$ttest.test_MimeWriterttest(((s"/usr/lib64/python2.7/MimeWriter.pyt<module>
s		
�

© 2025 UnknownSec
Web Design for Beginners | Anyleson - Learning Platform
INR (₹)
India Rupee
$
United States Dollar
Web Design for Beginners

Web Design for Beginners

in Design
Created by Linda Anderson
+2
5 Users are following this upcoming course
Course Published
This course was published already and you can check the main course
Course
Web Design for Beginners
in Design
4.25
1:45 Hours
8 Jul 2021
₹11.80

What you will learn?

Create any website layout you can imagine

Support any device size with Responsive (mobile-friendly) Design

Add tasteful animations and effects with CSS3

Course description

You can launch a new career in web development today by learning HTML & CSS. You don't need a computer science degree or expensive software. All you need is a computer, a bit of time, a lot of determination, and a teacher you trust. I've taught HTML and CSS to countless coworkers and held training sessions for fortune 100 companies. I am that teacher you can trust. 


Don't limit yourself by creating websites with some cheesy “site-builder" tool. This course teaches you how to take 100% control over your webpages by using the same concepts that every professional website is created with.


This course does not assume any prior experience. We start at square one and learn together bit by bit. By the end of the course you will have created (by hand) a website that looks great on phones, tablets, laptops, and desktops alike.


In the summer of 2020 the course has received a new section where we push our website live up onto the web using the free GitHub Pages service; this means you'll be able to share a link to what you've created with your friends, family, colleagues and the world!

Requirements

No prerequisite knowledge required

No special software required

Comments (0)

Report course

Please describe about the report short and clearly.

Share

Share course with your friends