def find_experiment_export(app_id):
<EOL>cwd = os.getcwd()<EOL>data_filename = "<STR_LIT>".format(app_id)<EOL>path_to_data = os.path.join(cwd, "<STR_LIT:data>", data_filename)<EOL>if os.path.exists(path_to_data):<EOL><INDENT>try:<EOL><INDENT>Data(path_to_data)<EOL><DEDENT>except IOError:<EOL><INDENT>from dallinger import logger<EOL>logger.exception(<EOL>"<STR_LIT>".format(<EOL>path_to_data<EOL>)<EOL>)<EOL><DEDENT>else:<EOL><INDENT>return path_to_data<EOL><DEDENT><DEDENT>path_to_data = os.path.join(tempfile.mkdtemp(), data_filename)<EOL>buckets = [user_s3_bucket(), dallinger_s3_bucket()]<EOL>for bucket in buckets:<EOL><INDENT>try:<EOL><INDENT>bucket.download_file(data_filename, path_to_data)<EOL><DEDENT>except botocore.exceptions.ClientError:<EOL><INDENT>pass<EOL><DEDENT>else:<EOL><INDENT>return path_to_data<EOL><DEDENT><DEDENT>
Attempt to find a zipped export of an experiment with the ID provided
    and return its path. Returns None if not found.

    Search order:
        1. local "data" subdirectory
        2. user S3 bucket
        3. Dallinger S3 bucket