Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/pypdf/generic/_outline.py: 27%

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

22 statements  

1from typing import Union 

2 

3from .._utils import StreamType, deprecation_no_replacement 

4from ._base import NameObject 

5from ._data_structures import Destination 

6 

7 

8class OutlineItem(Destination): 

9 def write_to_stream( 

10 self, stream: StreamType, encryption_key: Union[None, str, bytes] = None 

11 ) -> None: 

12 if encryption_key is not None: # deprecated 

13 deprecation_no_replacement( 

14 "the encryption_key parameter of write_to_stream", "5.0.0" 

15 ) 

16 stream.write(b"<<\n") 

17 for key in [ 

18 NameObject(x) 

19 for x in ["/Title", "/Parent", "/First", "/Last", "/Next", "/Prev"] 

20 if x in self 

21 ]: 

22 key.write_to_stream(stream) 

23 stream.write(b" ") 

24 value = self.raw_get(key) 

25 value.write_to_stream(stream) 

26 stream.write(b"\n") 

27 key = NameObject("/Dest") 

28 key.write_to_stream(stream) 

29 stream.write(b" ") 

30 value = self.dest_array 

31 value.write_to_stream(stream) 

32 stream.write(b"\n") 

33 stream.write(b">>")