Coverage for lasso/logging.py: 77%

22 statements  

« prev     ^ index     » next       coverage.py v7.2.4, created at 2023-04-28 18:42 +0100

1import logging 

2import platform 

3 

4from lasso.utils.console_coloring import ConsoleColoring 

5 

6# settings 

7MARKER_INFO = "[/]" 

8MARKER_RUNNING = "[~]" 

9MARKER_WARNING = "[!]" 

10MARKER_SUCCESS = "[Y]" if platform.system() == "Windows" else "[✔]" 

11MARKER_ERROR = "[X]" if platform.system() == "Windows" else "[✘]" 

12 

13LOGGER_NAME = "lasso" 

14 

15 

16def str_info(msg: str): 

17 """Format a message as stuff is running 

18 

19 Parameters 

20 ---------- 

21 msg: str 

22 message to format 

23 

24 Returns 

25 ------- 

26 msg_ret: str 

27 formatted message 

28 """ 

29 # return ConsoleColoring.blue("[/] {0}".format(msg), light=True) 

30 return f"{MARKER_INFO} {msg}" 

31 

32 

33def str_running(msg: str): 

34 """Format a message as stuff is running 

35 

36 Parameters 

37 ---------- 

38 msg: str 

39 message to format 

40 

41 Returns 

42 ------- 

43 msg_ret: str 

44 formatted message 

45 """ 

46 return f"{MARKER_RUNNING} {msg}" 

47 

48 

49def str_success(msg: str): 

50 """Format a message as successful 

51 

52 Parameters 

53 ---------- 

54 msg: str 

55 message to format 

56 

57 Returns 

58 ------- 

59 msg_ret: str 

60 formatted message 

61 """ 

62 return ConsoleColoring.green(f"{MARKER_SUCCESS} {msg}") 

63 

64 

65def str_warn(msg: str): 

66 """Format a string as a warning 

67 

68 Parameters 

69 ---------- 

70 msg: str 

71 message to format 

72 

73 Returns 

74 ------- 

75 msg_ret: str 

76 formatted message 

77 """ 

78 return ConsoleColoring.yellow(f"{MARKER_WARNING} {msg}") 

79 

80 

81def str_error(msg: str): 

82 """Format a string as an error 

83 

84 Parameters 

85 ---------- 

86 msg: str 

87 message to format 

88 

89 Returns 

90 ------- 

91 msg_ret: str 

92 formatted message 

93 """ 

94 return ConsoleColoring.red(f"{MARKER_ERROR} {msg}") 

95 

96 

97def get_logger(file_flag: str) -> logging.Logger: 

98 """Get the logger for the lasso module 

99 

100 Returns 

101 ------- 

102 logger: logging.Logger 

103 logger for the lasso module 

104 """ 

105 logging.basicConfig( 

106 datefmt="[%(levelname)s] %(message)s [%(pathname)s %(funcName)s %(lineno)d]" 

107 ) 

108 return logging.getLogger(file_flag)