def expected_bulk_app_sheet_headers(app):
    '''
    Returns lists representing the expected structure of bulk app translation
    excel file uploads and downloads.

    The list will be in the form:
    [
        ["sheetname", ["column name1", "column name 2"]],
        ["sheet2 name", [...]],
        ...
    ]
    :param app:
    :return:
    '''
    languages_list = ['default_' + l for l in app.langs]
    audio_lang_list = ['audio_' + l for l in app.langs]
    image_lang_list = ['image_' + l for l in app.langs]
    video_lang_list = ['video_' + l for l in app.langs]

    headers = []

    # Add headers for the first sheet
    headers.append([
        "Modules_and_forms",
        make_modules_and_forms_row(
            row_type='Type',
            sheet_name='sheet_name',
            languages=languages_list,
            case_labels=['label_for_cases_%s' % l for l in app.langs],
            media_image=['icon_filepath_%s' % l for l in app.langs],
            media_audio=[l % 'audio_filepath_%s' for l in app.langs],
            unique_id='unique_id',
        )
    ])

    for mod_index, module in enumerate(app.get_modules()):

        module_string = "module" + str(mod_index + 1)
        headers.append([module_string, ['case_property', 'list_or_detail'] + languages_list])

        for form_index, form in enumerate(module.get_forms()):
            form_string = module_string + "_form" + str(form_index + 1)
            headers.append([
                form_string,
                ["label"] + languages_list + audio_lang_list + image_lang_list
                                                             + video_lang_list
            ])
    return headers
dataset/ETHPy150Open dimagi/commcare-hq/corehq/apps/app_manager/translations.py/expected_bulk_app_sheet_headers/swapped operands of `%`