user: Show practical ways to work with Ed Operators in a Blender add-on or script – include code.

assistant: # Ed Operators

bpy.ops.ed.flush_edits()
:   Flush edit data from active editing modes

bpy.ops.ed.lib_id_fake_user_toggle()
:   Save this data-block even if it has no users

bpy.ops.ed.lib_id_generate_preview()
:   Create an automatic preview for the selected data-block

bpy.ops.ed.lib_id_generate_preview_from_object()
:   Create a preview for this asset by rendering the active object

bpy.ops.ed.lib_id_load_custom_preview(*\**, *filepath=''*, *hide_props_region=True*, *check_existing=False*, *filter_blender=False*, *filter_backup=False*, *filter_image=True*, *filter_movie=False*, *filter_python=False*, *filter_font=False*, *filter_sound=False*, *filter_text=False*, *filter_archive=False*, *filter_btx=False*, *filter_alembic=False*, *filter_usd=False*, *filter_obj=False*, *filter_volume=False*, *filter_folder=True*, *filter_blenlib=False*, *filemode=9*, *show_multiview=False*, *use_multiview=False*, *display_type='DEFAULT'*, *sort_method=''*)
:   Choose an image to help identify the data-block visually

    Parameters:
    :   - **filepath** (*string**,* *(**optional**,* *never None**)*) – File Path, Path to file
        - **hide_props_region** (*boolean**,* *(**optional**)*) – Hide Operator Properties, Collapse the region displaying the operator settings
        - **check_existing** (*boolean**,* *(**optional**)*) – Check Existing, Check and warn on overwriting existing files
        - **filter_blender** (*boolean**,* *(**optional**)*) – Filter .blend files
        - **filter_backup** (*boolean**,* *(**optional**)*) – Filter .blend files
        - **filter_image** (*boolean**,* *(**optional**)*) – Filter image files
        - **filter_movie** (*boolean**,* *(**optional**)*) – Filter movie files
        - **filter_python** (*boolean**,* *(**optional**)*) – Filter Python files
        - **filter_font** (*boolean**,* *(**optional**)*) – Filter font files
        - **filter_sound** (*boolean**,* *(**optional**)*) – Filter sound files
        - **filter_text** (*boolean**,* *(**optional**)*) – Filter text files
        - **filter_archive** (*boolean**,* *(**optional**)*) – Filter archive files
        - **filter_btx** (*boolean**,* *(**optional**)*) – Filter btx files
        - **filter_alembic** (*boolean**,* *(**optional**)*) – Filter Alembic files
        - **filter_usd** (*boolean**,* *(**optional**)*) – Filter USD files
        - **filter_obj** (*boolean**,* *(**optional**)*) – Filter OBJ files
        - **filter_volume** (*boolean**,* *(**optional**)*) – Filter OpenVDB volume files
        - **filter_folder** (*boolean**,* *(**optional**)*) – Filter folders
        - **filter_blenlib** (*boolean**,* *(**optional**)*) – Filter Blender IDs
        - **filemode** (*int in* *[**1**,* *9**]**,* *(**optional**)*) – File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file
        - **show_multiview** (*boolean**,* *(**optional**)*) – Enable Multi-View
        - **use_multiview** (*boolean**,* *(**optional**)*) – Use Multi-View
        - **display_type** (enum in [`'DEFAULT'`, `'LIST_VERTICAL'`, `'LIST_HORIZONTAL'`, `'THUMBNAIL'`], (optional)) –

          Display Type

          - `DEFAULT`
            Default – Automatically determine display type for files.
          - `LIST_VERTICAL`
            Short List – Display files as short list.
          - `LIST_HORIZONTAL`
            Long List – Display files as a detailed list.
          - `THUMBNAIL`
            Thumbnails – Display files as thumbnails.
        - **sort_method** (*enum in* *[**]**,* *(**optional**)*) – File sorting mode

bpy.ops.ed.lib_id_override_editable_toggle()
:   Set if this library override data-block can be edited

bpy.ops.ed.lib_id_remove_preview()
:   Remove the preview of this data-block

bpy.ops.ed.lib_id_unlink()
:   Remove a usage of a data-block, clearing the assignment

bpy.ops.ed.redo()
:   Redo previous action

bpy.ops.ed.undo()
:   Undo previous action

bpy.ops.ed.undo_history(*\**, *item=0*)
:   Redo specific action in history

    Parameters:
    :   **item** (*int in* *[**0**,* *inf**]**,* *(**optional**)*) – Item

bpy.ops.ed.undo_push(*\**, *message='Add an undo step \*function may be moved\*'*)
:   Add an undo state (internal use only)

    Parameters:
    :   **message** (*string**,* *(**optional**,* *never None**)*) – Undo Message

bpy.ops.ed.undo_redo()
:   Undo and redo previous action