Coverage for /home/runner/work/viur-core/viur-core/viur/src/viur/core/skeleton/__init__.py: 71%

19 statements  

« prev     ^ index     » next       coverage.py v7.10.6, created at 2025-09-13 11:04 +0000

1import logging 

2import warnings 

3 

4from ..bones.base import getSystemInitialized 

5 

6from .adapter import DatabaseAdapter, ViurTagsSearchAdapter 

7from .instance import SkeletonInstance 

8from .meta import MetaSkel, MetaBaseSkel, BaseSkeleton, KeyType 

9 

10from .relskel import RelSkel, RefSkel 

11from .skeleton import Skeleton, SeoKeyBone, _UNDEFINED_KINDNAME 

12from .utils import SkelList, skeletonByKind, listKnownSkeletons, iterAllSkelClasses, remove_render_preparation_deep 

13 

14 

15# Forward our references to SkelInstance to the database (needed for queries) 

16 

17# DEPRECATED ATTRIBUTES HANDLING 

18 

19__DEPRECATED_NAMES = { 

20 # stuff prior viur-core < 3.6 

21 "seoKeyBone": ("SeoKeyBone", SeoKeyBone), 

22} 

23 

24 

25def __getattr__(attr: str) -> object: 

26 if entry := __DEPRECATED_NAMES.get(attr): 26 ↛ 27line 26 didn't jump to line 27 because the condition on line 26 was never true

27 func = entry[1] 

28 msg = f"{attr} was replaced by {entry[0]}" 

29 warnings.warn(msg, DeprecationWarning, stacklevel=2) 

30 logging.warning(msg, stacklevel=2) 

31 return func 

32 

33 return super(__import__(__name__).__class__).__getattribute__(attr) 

34 

35 

36__all__ = [ 

37 BaseSkeleton, 

38 DatabaseAdapter, 

39 getSystemInitialized, # FIXME: This is an import from BaseBone 

40 iterAllSkelClasses, 

41 listKnownSkeletons, 

42 MetaBaseSkel, 

43 MetaSkel, 

44 RefSkel, 

45 RelSkel, 

46 remove_render_preparation_deep, 

47 SeoKeyBone, 

48 Skeleton, 

49 skeletonByKind, 

50 SkeletonInstance, 

51 SkelList, 

52 ViurTagsSearchAdapter, 

53 _UNDEFINED_KINDNAME 

54]