def METHOD_NAME(raw_data):
    """Create an Archive object out of raw archive data.
    This method treats the given string as archive data: it dumps it
    into a temporary file, then creates an Archive object. Since the
    user did not provide a path, we assume that when cleanup() is
    called the temporary file should be deleted as well as unpacked
    data.
    raw_data (bytes): the actual bytes that form the archive.
    return (Archive|None): an object that represents the new
        archive or None, if raw_data doesn't represent an archive.
    """
    temp_file, temp_filename = tempfile.mkstemp(dir=config.temp_dir)
    with open(temp_file, "wb") as temp_file:
        temp_file.write(raw_data)
    try:
        return Archive(temp_filename, delete_source=True)
    except ArchiveException:
        os.remove(temp_filename)
        return None