Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/nbconvert/exporters/rst.py: 55%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

31 statements  

1"""reStructuredText Exporter class""" 

2 

3# Copyright (c) Jupyter Development Team. 

4# Distributed under the terms of the Modified BSD License. 

5 

6from traitlets import default 

7from traitlets.config import Config 

8 

9from ..filters import DataTypeFilter 

10from .templateexporter import TemplateExporter 

11 

12 

13class RSTExporter(TemplateExporter): 

14 """ 

15 Exports reStructuredText documents. 

16 """ 

17 

18 @default("file_extension") 

19 def _file_extension_default(self): 

20 return ".rst" 

21 

22 @default("template_name") 

23 def _template_name_default(self): 

24 return "rst" 

25 

26 @default("raw_mimetypes") 

27 def _raw_mimetypes_default(self): 

28 # Up to summer 2024, nbconvert had a mistaken output_mimetype. 

29 # Listing that as an extra option here maintains compatibility for 

30 # notebooks with raw cells marked as that mimetype. 

31 return [self.output_mimetype, "text/restructuredtext", ""] 

32 

33 output_mimetype = "text/x-rst" 

34 export_from_notebook = "reST" 

35 

36 def default_filters(self): 

37 """Override filter_data_type to use native rst outputs""" 

38 dtf = DataTypeFilter() 

39 dtf.display_data_priority = [self.output_mimetype, *dtf.display_data_priority] 

40 filters = dict(super().default_filters()) 

41 filters["filter_data_type"] = dtf 

42 return filters.items() 

43 

44 @property 

45 def default_config(self): 

46 c = Config( 

47 { 

48 "CoalesceStreamsPreprocessor": {"enabled": True}, 

49 "ExtractOutputPreprocessor": {"enabled": True}, 

50 "HighlightMagicsPreprocessor": {"enabled": True}, 

51 } 

52 ) 

53 if super().default_config: 

54 c2 = super().default_config.copy() 

55 c2.merge(c) 

56 c = c2 

57 return c