From: Rob van der Linde Date: Thu, 21 Mar 2024 22:02:50 +0000 (+1300) Subject: python: domain: models: move MODELS to registry.py because it's not really a constant X-Git-Tag: tdb-1.4.11~1342 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=3c0833ead5180492d958af66ad94db392e87ed07;p=thirdparty%2Fsamba.git python: domain: models: move MODELS to registry.py because it's not really a constant Signed-off-by: Rob van der Linde Reviewed-by: Douglas Bagnall Reviewed-by: Andrew Bartlett --- diff --git a/python/samba/domain/models/__init__.py b/python/samba/domain/models/__init__.py index fe05bac1482..f3cdad0c8fd 100644 --- a/python/samba/domain/models/__init__.py +++ b/python/samba/domain/models/__init__.py @@ -25,12 +25,12 @@ from .auth_policy import (AuthenticationPolicy, StrongNTLMPolicy, from .auth_silo import AuthenticationSilo from .claim_type import ClaimType from .computer import Computer -from .constants import MODELS from .container import Container from .gmsa import GroupManagedServiceAccount from .group import Group from .model import Model from .person import OrganizationalPerson, Person +from .registry import MODELS from .schema import AttributeSchema, ClassSchema from .site import Site from .subnet import Subnet diff --git a/python/samba/domain/models/constants.py b/python/samba/domain/models/constants.py index aa1b0307445..0afef5ce19f 100644 --- a/python/samba/domain/models/constants.py +++ b/python/samba/domain/models/constants.py @@ -20,9 +20,5 @@ # along with this program. If not, see . # -# Keeps track of registered models. -# This gets populated by the ModelMeta class. -MODELS = {} - # Default SDDL for GroupManagedServiceAccount msDS-GroupMSAMembership field. GROUP_MSA_MEMBERSHIP_DEFAULT = "O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;LA)" diff --git a/python/samba/domain/models/model.py b/python/samba/domain/models/model.py index 3671eaf367b..268aa26dd33 100644 --- a/python/samba/domain/models/model.py +++ b/python/samba/domain/models/model.py @@ -27,12 +27,12 @@ from ldb import (ERR_NO_SUCH_OBJECT, FLAG_MOD_ADD, FLAG_MOD_REPLACE, SCOPE_ONELEVEL, SCOPE_SUBTREE) from samba.sd_utils import SDUtils -from .constants import MODELS from .exceptions import (DeleteError, FieldError, NotFound, ProtectError, UnprotectError) from .fields import (DateTimeField, DnField, Field, GUIDField, IntegerField, SIDField, StringField) from .query import Query +from .registry import MODELS class ModelMeta(type): diff --git a/python/samba/domain/models/query.py b/python/samba/domain/models/query.py index a3d280f46a1..777bad6c5ea 100644 --- a/python/samba/domain/models/query.py +++ b/python/samba/domain/models/query.py @@ -22,8 +22,8 @@ import re -from .constants import MODELS from .exceptions import NotFound, MultipleObjectsReturned +from .registry import MODELS RE_SPLIT_CAMELCASE = re.compile(r"[A-Z](?:[a-z]+|[A-Z]*(?=[A-Z]|$))") diff --git a/python/samba/domain/models/registry.py b/python/samba/domain/models/registry.py new file mode 100644 index 00000000000..9968613410f --- /dev/null +++ b/python/samba/domain/models/registry.py @@ -0,0 +1,25 @@ +# Unix SMB/CIFS implementation. +# +# Model registry. +# +# Copyright (C) Catalyst.Net Ltd. 2024 +# +# Written by Rob van der Linde +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +# Keeps track of registered models. +# This gets populated by the ModelMeta class. +MODELS = {}