예제 #1
0
def _formatparam(param, value=None, quote=True):
    if value is not None and len(value) > 0:
        if isinstance(value, tuple):
            param += '*'
            value = Utils.encode_rfc2231(value[2], value[0], value[1])

        if quote or tspecials.search(value):
            return '%s="%s"' % (param, Utils.quote(value))
        else:
            return '%s=%s' % (param, value)
    else:
        return param
예제 #2
0
def _formatparam(param, value = None, quote = True):
    if value is not None and len(value) > 0:
        if isinstance(value, tuple):
            param += '*'
            value = Utils.encode_rfc2231(value[2], value[0], value[1])
        if quote or tspecials.search(value):
            return '%s="%s"' % (param, Utils.quote(value))
        else:
            return '%s=%s' % (param, value)
    else:
        return param
    return
예제 #3
0
    def download_attachment(self, req, db, token):
        result = req.session.proxy('edi').get_edi_document(db, token)
        doc = json.loads(result)[0]
        attachment = doc['__attachments'] and doc['__attachments'][0]
        if attachment:
            result = attachment["content"].decode('base64')
            import email.Utils as utils

            # Encode as per RFC 2231
            filename_utf8 = attachment['file_name']
            filename_encoded = "%s=%s" % (
                'filename*', utils.encode_rfc2231(filename_utf8, 'utf-8'))
            response = werkzeug.wrappers.Response(
                result,
                headers=[('Content-Type', 'application/pdf'),
                         ('Content-Disposition',
                          'inline; ' + filename_encoded),
                         ('Content-Length', len(result))])
            return response
예제 #4
0
    def download_attachment(self, req, db, token):
        result = req.session.proxy("edi").get_edi_document(db, token)
        doc = json.loads(result)[0]
        attachment = doc["__attachments"] and doc["__attachments"][0]
        if attachment:
            result = attachment["content"].decode("base64")
            import email.Utils as utils

            # Encode as per RFC 2231
            filename_utf8 = attachment["file_name"]
            filename_encoded = "%s=%s" % ("filename*", utils.encode_rfc2231(filename_utf8, "utf-8"))
            response = werkzeug.wrappers.Response(
                result,
                headers=[
                    ("Content-Type", "application/pdf"),
                    ("Content-Disposition", "inline; " + filename_encoded),
                    ("Content-Length", len(result)),
                ],
            )
            return response
def _formatparam(param, value=None, quote=True):
    """Convenience function to format and return a key=value pair.

    This will quote the value if needed or if quote is true.
    """
    if value is not None and len(value) > 0:
        # TupleType is used for RFC 2231 encoded parameter values where items
        # are (charset, language, value).  charset is a string, not a Charset
        # instance.
        if isinstance(value, TupleType):
            # Encode as per RFC 2231
            param += '*'
            value = Utils.encode_rfc2231(value[2], value[0], value[1])
        # BAW: Please check this.  I think that if quote is set it should
        # force quoting even if not necessary.
        if quote or tspecials.search(value):
            return '%s="%s"' % (param, Utils.quote(value))
        else:
            return '%s=%s' % (param, value)
    else:
        return param
예제 #6
0
def _formatparam(param, value=None, quote=True):
    """Convenience function to format and return a key=value pair.

    This will quote the value if needed or if quote is true.
    """
    if value is not None and len(value) > 0:
        # TupleType is used for RFC 2231 encoded parameter values where items
        # are (charset, language, value).  charset is a string, not a Charset
        # instance.
        if isinstance(value, TupleType):
            # Encode as per RFC 2231
            param += '*'
            value = Utils.encode_rfc2231(value[2], value[0], value[1])
        # BAW: Please check this.  I think that if quote is set it should
        # force quoting even if not necessary.
        if quote or tspecials.search(value):
            return '%s="%s"' % (param, Utils.quote(value))
        else:
            return '%s=%s' % (param, value)
    else:
        return param