Coverage for /home/runner/work/viur-core/viur-core/viur/src/viur/core/skeleton/__init__.py: 76%
23 statements
« prev ^ index » next coverage.py v7.16.1, created at 2026-09-25 15:02 +0000
« prev ^ index » next coverage.py v7.16.1, created at 2026-09-25 15:02 +0000
1import logging
2import warnings
4from .adapter import DatabaseAdapter, ViurTagsSearchAdapter
5# The bones package has to be complete before the first skeleton class is built: MetaBaseSkel
6# reaches into it while the class body is executed, and bones.image in turn subclasses RelSkel.
7# Importing viur.core establishes that order anyway; this keeps it intact for anyone importing
8# viur.core.skeleton directly.
9from .. import bones as _bones # noqa: F401
11from .base import BaseSkeleton
12from .instance import SkeletonInstance
13from .meta import ABSTRACT_SKEL_CLS_SUFFIX, MetaBaseSkel, MetaSkel, Skeleton_Cls
14from .relskel import RefSkel, RelSkel
15from .skeleton import SeoKeyBone, Skeleton, _UNDEFINED_KINDNAME
16from .tasks import SkelIterTask, SkeletonMaintenanceTask, update_relations
17from .utils import ( # noqa
18 SkelList,
19 is_skeletoninstance_of,
20 iterAllSkelClasses,
21 listKnownSkeletons,
22 remove_render_preparation_deep,
23 skeletonByKind,
24 without_render_preparation,
25)
27# DEPRECATED ATTRIBUTES HANDLING
28# FIXME: REMOVE WITH VIUR4
30from ..bones.base import getSystemInitialized as _getSystemInitialized
31from ..db import KeyType as _KeyType
33__DEPRECATED_NAMES = {
34 # stuff prior viur-core < 3.6
35 "seoKeyBone": ("SeoKeyBone", SeoKeyBone),
36 # stuff prior viur-core < 3.8
37 "getSystemInitialized": ("bones.base.getSystemInitialized", _getSystemInitialized),
38 "KeyType": ("db.KeyType", _KeyType),
39}
42def __getattr__(attr: str) -> object:
43 if entry := __DEPRECATED_NAMES.get(attr): 43 ↛ 44line 43 didn't jump to line 44 because the condition on line 43 was never true
44 func = entry[1]
45 msg = f"{attr} was replaced by {entry[0]}"
46 warnings.warn(msg, DeprecationWarning, stacklevel=2)
47 logging.warning(msg, stacklevel=2)
48 return func
50 return super(__import__(__name__).__class__).__getattribute__(attr)
53__all__ = [
54 "ABSTRACT_SKEL_CLS_SUFFIX",
55 "BaseSkeleton",
56 "DatabaseAdapter",
57 "MetaBaseSkel",
58 "MetaSkel",
59 "RefSkel",
60 "RelSkel",
61 "SeoKeyBone",
62 "SkelIterTask",
63 "SkelList",
64 "Skeleton",
65 "Skeleton_Cls",
66 "SkeletonInstance",
67 "SkeletonMaintenanceTask",
68 "ViurTagsSearchAdapter",
69 "_UNDEFINED_KINDNAME",
70 "is_skeletoninstance_of",
71 "iterAllSkelClasses",
72 "listKnownSkeletons",
73 "remove_render_preparation_deep",
74 "skeletonByKind",
75 "update_relations",
76 "without_render_preparation",
77]