Coverage for /home/runner/work/viur-core/viur-core/viur/src/viur/core/bones/image.py: 92%

12 statements  

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

1import typing as t 

2from .. import i18n 

3from .file import FileBone 

4from .string import StringBone 

5from ..skeleton.relskel import RelSkel 

6from ..config import conf 

7 

8 

9class ImageBoneRelSkel(RelSkel): 

10 alt = StringBone( 

11 descr=i18n.translate( 

12 "viur.core.image.alt", 

13 defaultText="Alternative description", 

14 ), 

15 searchable=True, 

16 languages=conf.i18n.available_languages, 

17 ) 

18 

19 

20class ImageBone(FileBone): 

21 type = FileBone.type + ".image" 

22 

23 def __init__( 

24 self, 

25 *, 

26 public: bool = True, 

27 using: t.Optional[RelSkel] = ImageBoneRelSkel, 

28 validMimeTypes: None | t.Iterable[str] = ["image/*"], 

29 **kwargs, 

30 ): 

31 super().__init__( 

32 public=public, 

33 using=using, 

34 validMimeTypes=validMimeTypes, 

35 **kwargs, 

36 )