shell bypass 403

UnknownSec Shell

: /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
Display on the page Footer | Anyleson - Learning Platform
INR (₹)
India Rupee
$
United States Dollar

Display on the page Footer

Privacy Policy

Effective Date: 24 August , 2024

At Anyleson, we are committed to protecting your privacy and ensuring that your personal information is handled securely and responsibly. This Privacy Policy outlines how we collect, use, and safeguard your data when you use our platform.


Information We Collect


  1. Personal Information:

    • Name, email address, phone number, and billing details.

    • Account login credentials (username and password).



  2. Course Usage Data:

    • Progress and activity within courses.

    • Feedback and reviews submitted for courses.



  3. Technical Information:

    • IP address, browser type, device information, and cookies for improving website functionality.



  4. Communication Data:

    • Information from your interactions with our customer support.




How We Use Your Information


  1. To Provide Services:

    • Process course purchases, registrations, and access to content.



  2. To Improve User Experience:

    • Analyze user behavior to enhance course offerings and platform features.



  3. To Communicate:

    • Send updates, notifications, and promotional offers (only if you’ve opted in).



  4. For Legal Compliance:

    • Meet legal or regulatory requirements and prevent fraud.




How We Protect Your Information


  1. Data Encryption: All sensitive data is encrypted during transmission using SSL.

  2. Access Control: Only authorized personnel have access to personal information.

  3. Secure Storage: Data is stored on secure servers with regular security updates.


Sharing Your Information

We do not sell, rent, or trade your personal data. However, we may share your information with:


  1. Service Providers:

    • Payment processors and hosting services that assist in delivering our platform.



  2. Legal Authorities:

    • When required by law or to protect our legal rights.




Your Rights


  1. Access and Update: You can view and update your personal information in your account settings.

  2. Request Deletion: You have the right to request deletion of your data by contacting us.

  3. Opt-Out: You can opt out of receiving promotional emails by clicking the “unsubscribe” link in our emails.


Cookies Policy

We use cookies to enhance your experience by:


  • Remembering your preferences.

  • Analyzing website traffic.
    You can manage your cookie preferences through your browser settings.


Third-Party Links

Our platform may contain links to third-party websites. We are not responsible for their privacy practices and recommend reviewing their privacy policies.


Policy Updates

We may update this Privacy Policy from time to time. Changes will be posted on this page, and the "Effective Date" will be updated. Please review the policy periodically.


Contact Us

If you have any questions or concerns about our Privacy Policy or how your data is handled, please contact us at:

Email: support@anyleson.comThank you for trusting Anyleson with your learning journey!