Coverage for /var/srv/projects/api.amasfac.comuna18.com/tmp/venv/lib/python3.9/site-packages/openpyxl/worksheet/pagebreak.py: 69%

47 statements  

« prev     ^ index     » next       coverage.py v6.4.4, created at 2023-07-17 14:22 -0600

1# Copyright (c) 2010-2022 openpyxl 

2 

3from openpyxl.descriptors.serialisable import Serialisable 

4from openpyxl.descriptors import ( 

5 Integer, 

6 Bool, 

7 Sequence, 

8) 

9 

10 

11class Break(Serialisable): 

12 

13 tagname = "brk" 

14 

15 id = Integer(allow_none=True) 

16 min = Integer(allow_none=True) 

17 max = Integer(allow_none=True) 

18 man = Bool(allow_none=True) 

19 pt = Bool(allow_none=True) 

20 

21 def __init__(self, 

22 id=0, 

23 min=0, 

24 max=16383, 

25 man=True, 

26 pt=None, 

27 ): 

28 self.id = id 

29 self.min = min 

30 self.max = max 

31 self.man = man 

32 self.pt = pt 

33 

34 

35class RowBreak(Serialisable): 

36 

37 tagname = "rowBreaks" 

38 

39 count = Integer(allow_none=True) 

40 manualBreakCount = Integer(allow_none=True) 

41 brk = Sequence(expected_type=Break, allow_none=True) 

42 

43 __elements__ = ('brk',) 

44 __attrs__ = ("count", "manualBreakCount",) 

45 

46 def __init__(self, 

47 count=None, 

48 manualBreakCount=None, 

49 brk=(), 

50 ): 

51 self.brk = brk 

52 

53 

54 def __bool__(self): 

55 return len(self.brk) > 0 

56 

57 

58 def __len__(self): 

59 return len(self.brk) 

60 

61 

62 @property 

63 def count(self): 

64 return len(self) 

65 

66 

67 @property 

68 def manualBreakCount(self): 

69 return len(self) 

70 

71 

72 def append(self, brk=None): 

73 """ 

74 Add a page break 

75 """ 

76 vals = list(self.brk) 

77 if not isinstance(brk, Break): 

78 brk = Break(id=self.count+1) 

79 vals.append(brk) 

80 self.brk = vals 

81 

82 

83PageBreak = RowBreak 

84 

85 

86class ColBreak(RowBreak): 

87 

88 tagname = "colBreaks" 

89 

90 count = RowBreak.count 

91 manualBreakCount = RowBreak.manualBreakCount 

92 brk = RowBreak.brk 

93 

94 __attrs__ = RowBreak.__attrs__