parsedmarc/utils.py
def convert_outlook_msg(msg_bytes):
    """
    Uses the ``msgconvert`` Perl utility to convert an Outlook MS file to
    standard RFC 822 format

    Args:
        msg_bytes (bytes): the content of the .msg file

    Returns:
        A RFC 822 string
    """
    if not is_outlook_msg(msg_bytes):
        raise ValueError("The supplied bytes are not an Outlook MSG file")
    orig_dir = os.getcwd()
    tmp_dir = tempfile.mkdtemp()
    os.chdir(tmp_dir)
    with open("sample.msg", "wb") as msg_file:
        msg_file.write(msg_bytes)
    try:
        subprocess.check_call(["msgconvert", "sample.msg"],
                              stdout=null_file, stderr=null_file)
        eml_path = "sample.eml"
        with open(eml_path, "rb") as eml_file:
            rfc822 = eml_file.read()
    except FileNotFoundError:
        raise EmailParserError(
            "Failed to convert Outlook MSG: msgconvert utility not found")
    finally:
        os.chdir(orig_dir)
        shutil.rmtree(tmp_dir)

    return rfc822
def convert_outlook_msg(msg_bytes):
    if not is_outlook_msg(msg_bytes):
        raise ValueError("The supplied bytes are not an Outlook MSG file")
    orig_dir = os.getcwd()
    tmp_dir = tempfile.mkdtemp()
    os.chdir(tmp_dir)
    with open("sample.msg", "wb") as msg_file:
        msg_file.write(msg_bytes)
    try:
        subprocess.check_call(["msgconvert", "sample.msg"],
                              stdout=null_file, stderr=null_file)
        eml_path = "sample.eml"
        with open(eml_path, "rb") as eml_file:
            rfc822 = eml_file.read()
    except FileNotFoundError:
        raise EmailParserError(
            "Failed to convert Outlook MSG: msgconvert utility not found")
    finally:
        os.chdir(orig_dir)
        shutil.rmtree(tmp_dir)

    return rfc822
def convert_outlook_msg ( msg_bytes ) : if not is_outlook_msg ( msg_bytes ) : raise ValueError ( "The supplied bytes are not an Outlook MSG file" ) orig_dir = os . getcwd ( ) tmp_dir = tempfile . mkdtemp ( ) os . chdir ( tmp_dir ) with open ( "sample.msg" , "wb" ) as msg_file : msg_file . write ( msg_bytes ) try : subprocess . check_call ( [ "msgconvert" , "sample.msg" ] , stdout = null_file , stderr = null_file ) eml_path = "sample.eml" with open ( eml_path , "rb" ) as eml_file : rfc822 = eml_file . read ( ) except FileNotFoundError : raise EmailParserError ( "Failed to convert Outlook MSG: msgconvert utility not found" ) finally : os . chdir ( orig_dir ) shutil . rmtree ( tmp_dir ) return rfc822
Uses the ``msgconvert`` Perl utility to convert an Outlook MS file to
    standard RFC 822 format

    Args:
        msg_bytes (bytes): the content of the .msg file

    Returns:
        A RFC 822 string
Uses the msgconvert Perl utility to convert an Outlook MS file to standard RFC 822 format