Coverage for sources / ictr / standard / __.py: 95%

21 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2025-12-12 01:33 +0000

1# vim: set filetype=python fileencoding=utf-8: 

2# -*- coding: utf-8 -*- 

3 

4#============================================================================# 

5# # 

6# Licensed under the Apache License, Version 2.0 (the "License"); # 

7# you may not use this file except in compliance with the License. # 

8# You may obtain a copy of the License at # 

9# # 

10# http://www.apache.org/licenses/LICENSE-2.0 # 

11# # 

12# Unless required by applicable law or agreed to in writing, software # 

13# distributed under the License is distributed on an "AS IS" BASIS, # 

14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # 

15# See the License for the specific language governing permissions and # 

16# limitations under the License. # 

17# # 

18#============================================================================# 

19 

20 

21''' Internal imports for textualizers and their attendants. ''' 

22 

23 

24# ruff: noqa: F401, F403, F405 

25 

26 

27from ..__ import * 

28from ..configuration import * 

29from ..exceptions import * 

30from ..flavors import * 

31from ..printers import * 

32from ..records import * 

33from ..textualizers import * 

34 

35ENRICH = False 

36try: 

37 

38 import rich.console as rich_console 

39 import rich.style as rich_style 

40 import rich.text as rich_text 

41 import rich.traceback as rich_traceback 

42 

43 ENRICH = True # pyright: ignore[reportConstantRedefinition] 

44 

45 def produce_rich_console( 

46 control: TextualizationControl, 

47 capture: typx.IO[ str ], 

48 columns_max: Absential[ int ] = absent, 

49 ) -> rich_console.Console: 

50 charset = control.charset or '' 

51 colorize = control.colorize 

52 columns_max_nullable = ( 

53 None if is_absent( columns_max ) else columns_max ) 

54 safe = charset.startswith( 'utf-' ) 

55 return rich_console.Console( 

56 file = capture, 

57 force_terminal = colorize, 

58 no_color = not colorize, 

59 safe_box = safe, 

60 width = columns_max_nullable ) 

61 

62except ImportError: pass