Coverage for /home/ubuntu/cv-depot/python/cv_depot/api.py: 100%

19 statements  

« prev     ^ index     » next       coverage.py v7.8.0, created at 2025-04-08 20:26 +0000

1''' 

2This moudle is meant as a convenience for programmers who want a clean namespace 

3to sift through. 

4''' 

5 

6import argparse as __argparse 

7import inspect as __inspect 

8import re as __re 

9import types as __types 

10 

11import cv_depot.ops as __ops # noqa F401 

12from cv_depot.core.channel_map import ChannelMap # noqa F401 

13from cv_depot.core.color import BasicColor, Color # noqa F401 

14from cv_depot.core.enum import BitDepth, ImageFormat, VideoCodec, VideoFormat # noqa F401 

15from cv_depot.core.enum import Anchor, Direction # noqa F401 

16from cv_depot.core.image import Image, ImageCodec # noqa F401 

17from cv_depot.core.viewer import ImageViewer # noqa F401 

18# ------------------------------------------------------------------------------ 

19 

20 

21def __create_namespace(module): 

22 # type: (object) -> __argparse.Namespace 

23 ''' 

24 Creates a clean namespace from a module. 

25 Only grabs public functions from the module. 

26 

27 Args: 

28 module (object): module 

29 

30 Returns: 

31 argparse.Namespace: Clean namespace. 

32 ''' 

33 params = {} 

34 for key, val in __inspect.getmembers(module): 

35 if isinstance(val, __types.FunctionType): 

36 if __re.search('^[a-z]', key): 

37 params[key] = val 

38 return __argparse.Namespace(**params) 

39 

40 

41ops = __argparse.Namespace( 

42 channel=__create_namespace(__ops.channel), 

43 draw=__create_namespace(__ops.draw), 

44 edit=__create_namespace(__ops.edit), 

45 filter=__create_namespace(__ops.filter), 

46)