17db96d56Sopenharmony_ci# Copyright (C) 2001-2006 Python Software Foundation 27db96d56Sopenharmony_ci# Author: Keith Dart 37db96d56Sopenharmony_ci# Contact: email-sig@python.org 47db96d56Sopenharmony_ci 57db96d56Sopenharmony_ci"""Class representing application/* type MIME documents.""" 67db96d56Sopenharmony_ci 77db96d56Sopenharmony_ci__all__ = ["MIMEApplication"] 87db96d56Sopenharmony_ci 97db96d56Sopenharmony_cifrom email import encoders 107db96d56Sopenharmony_cifrom email.mime.nonmultipart import MIMENonMultipart 117db96d56Sopenharmony_ci 127db96d56Sopenharmony_ci 137db96d56Sopenharmony_ciclass MIMEApplication(MIMENonMultipart): 147db96d56Sopenharmony_ci """Class for generating application/* MIME documents.""" 157db96d56Sopenharmony_ci 167db96d56Sopenharmony_ci def __init__(self, _data, _subtype='octet-stream', 177db96d56Sopenharmony_ci _encoder=encoders.encode_base64, *, policy=None, **_params): 187db96d56Sopenharmony_ci """Create an application/* type MIME document. 197db96d56Sopenharmony_ci 207db96d56Sopenharmony_ci _data contains the bytes for the raw application data. 217db96d56Sopenharmony_ci 227db96d56Sopenharmony_ci _subtype is the MIME content type subtype, defaulting to 237db96d56Sopenharmony_ci 'octet-stream'. 247db96d56Sopenharmony_ci 257db96d56Sopenharmony_ci _encoder is a function which will perform the actual encoding for 267db96d56Sopenharmony_ci transport of the application data, defaulting to base64 encoding. 277db96d56Sopenharmony_ci 287db96d56Sopenharmony_ci Any additional keyword arguments are passed to the base class 297db96d56Sopenharmony_ci constructor, which turns them into parameters on the Content-Type 307db96d56Sopenharmony_ci header. 317db96d56Sopenharmony_ci """ 327db96d56Sopenharmony_ci if _subtype is None: 337db96d56Sopenharmony_ci raise TypeError('Invalid application MIME subtype') 347db96d56Sopenharmony_ci MIMENonMultipart.__init__(self, 'application', _subtype, policy=policy, 357db96d56Sopenharmony_ci **_params) 367db96d56Sopenharmony_ci self.set_payload(_data) 377db96d56Sopenharmony_ci _encoder(self) 38