from mapteksdk.data import SelectionGroup
from mapteksdk.project import Project, OverwriteMode
from mapteksdk.operations import show_message, Severity

def main(project: Project):
    selection = project.get_selected()
    if not selection:
        show_message(
            "Example Python Script",
            "This operation requires a selection.",
            Severity.ERROR,
        )
    with project.new(
        "documentation/group_of_selection",
        SelectionGroup,
        overwrite=OverwriteMode.UNIQUE_NAME,
    ) as new_group:
        new_group.extend(selection)

if __name__ == "__main__":
    with Project() as main_project:
        main(main_project)