HEX
Server: Apache/2.4.63 (Unix)
System: Linux Synopilou92 4.4.302+ #72806 SMP Mon Jul 21 23:16:00 CST 2025 x86_64
User: pilou92 (1026)
PHP: 8.0.30
Disabled: NONE
Upload Files
File: /volume1/@appstore/SynologyPhotos/sdk-plugin/synology_foto_ldap_group_rename.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Copyright (c) 2000 - present Synology Inc. All rights reserved.

from os import environ
from importlib.util import spec_from_file_location, module_from_spec

module_name = "common"
module_path = "/var/packages/SynologyPhotos/target/sdk-plugin/common.py"
spec = spec_from_file_location(module_name, module_path)
common = module_from_spec(spec)
spec.loader.exec_module(common)


class DirGroupRename(common.PluginRunner):
    # @override
    def post(self):

        rename_group = []
        server_type = environ.get("SERVER_TYPE")
        n_items = int(environ.get("NITEMS"))

        if server_type == "domain":
            return

        for i in range(1, n_items + 1):
            gid = environ.get("GID_{}".format(i))
            origin_group_name = environ.get("ORIGIN_GROUP_NAME_{}".format(i))
            group_name = environ.get("GROUP_NAME_{}".format(i))

            if (
                origin_group_name
                and group_name != origin_group_name
                and origin_group_name is not None
            ):
                rename_group.append(
                    {"origin_group_name": origin_group_name, "group_name": group_name,}
                )

        if len(rename_group) > 0:
            self.send_command("group-rename", rename_group)


common.MainBody(DirGroupRename())