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

21 statements  

« prev     ^ index     » next       coverage.py v7.13.4, created at 2026-03-13 14:41 +0000

1import logging 

2import warnings 

3 

4from .adapter import DatabaseAdapter, ViurTagsSearchAdapter 

5from .instance import SkeletonInstance 

6from .meta import ABSTRACT_SKEL_CLS_SUFFIX, BaseSkeleton, MetaBaseSkel, MetaSkel 

7from .relskel import RefSkel, RelSkel 

8from .skeleton import SeoKeyBone, Skeleton, _UNDEFINED_KINDNAME 

9from .tasks import SkelIterTask, SkeletonMaintenanceTask, update_relations 

10from .utils import ( # noqa 

11 SkelList, 

12 is_skeletoninstance_of, 

13 iterAllSkelClasses, 

14 listKnownSkeletons, 

15 remove_render_preparation_deep, 

16 skeletonByKind, 

17 without_render_preparation, 

18) 

19 

20# DEPRECATED ATTRIBUTES HANDLING 

21# FIXME: REMOVE WITH VIUR4 

22 

23from ..bones.base import getSystemInitialized as _getSystemInitialized 

24from ..db import KeyType as _KeyType 

25 

26__DEPRECATED_NAMES = { 

27 # stuff prior viur-core < 3.6 

28 "seoKeyBone": ("SeoKeyBone", SeoKeyBone), 

29 # stuff prior viur-core < 3.8 

30 "getSystemInitialized": ("bones.base.getSystemInitialized", _getSystemInitialized), 

31 "KeyType": ("db.KeyType", _KeyType), 

32} 

33 

34 

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

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

37 func = entry[1] 

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

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

40 logging.warning(msg, stacklevel=2) 

41 return func 

42 

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

44 

45 

46__all__ = [ 

47 ABSTRACT_SKEL_CLS_SUFFIX, 

48 BaseSkeleton, 

49 DatabaseAdapter, 

50 MetaBaseSkel, 

51 MetaSkel, 

52 RefSkel, 

53 RelSkel, 

54 SeoKeyBone, 

55 SkelIterTask, 

56 SkelList, 

57 Skeleton, 

58 SkeletonInstance, 

59 SkeletonMaintenanceTask, 

60 ViurTagsSearchAdapter, 

61 _UNDEFINED_KINDNAME, 

62 is_skeletoninstance_of, 

63 iterAllSkelClasses, 

64 listKnownSkeletons, 

65 remove_render_preparation_deep, 

66 skeletonByKind, 

67 update_relations, 

68 without_render_preparation, 

69]