X Tutup
Skip to content

Commit 3832dc1

Browse files
author
Steve Canny
committed
parfmt: add ParaFormat.page_break_before setter
1 parent 288871d commit 3832dc1

File tree

3 files changed

+16
-0
lines changed

3 files changed

+16
-0
lines changed

docx/oxml/text/paragraph.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,13 @@ def pageBreakBefore_val(self):
254254
return None
255255
return pageBreakBefore.val
256256

257+
@pageBreakBefore_val.setter
258+
def pageBreakBefore_val(self, value):
259+
if value is None:
260+
self._remove_pageBreakBefore()
261+
else:
262+
self.get_or_add_pageBreakBefore().val = value
263+
257264
@property
258265
def spacing_after(self):
259266
"""

docx/text/paragraph.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,10 @@ def page_break_before(self):
303303
return None
304304
return pPr.pageBreakBefore_val
305305

306+
@page_break_before.setter
307+
def page_break_before(self, value):
308+
self._element.get_or_add_pPr().pageBreakBefore_val = value
309+
306310
@property
307311
def right_indent(self):
308312
"""

tests/text/test_paragraph.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -554,14 +554,19 @@ def on_off_get_fixture(self, request):
554554
@pytest.fixture(params=[
555555
('w:p', 'keep_together', True, 'w:p/w:pPr/w:keepLines'),
556556
('w:p', 'keep_with_next', True, 'w:p/w:pPr/w:keepNext'),
557+
('w:p', 'page_break_before', True, 'w:p/w:pPr/w:pageBreakBefore'),
557558
('w:p/w:pPr/w:keepLines', 'keep_together', False,
558559
'w:p/w:pPr/w:keepLines{w:val=0}'),
559560
('w:p/w:pPr/w:keepNext', 'keep_with_next', False,
560561
'w:p/w:pPr/w:keepNext{w:val=0}'),
562+
('w:p/w:pPr/w:pageBreakBefore', 'page_break_before', False,
563+
'w:p/w:pPr/w:pageBreakBefore{w:val=0}'),
561564
('w:p/w:pPr/w:keepLines{w:val=0}', 'keep_together', None,
562565
'w:p/w:pPr'),
563566
('w:p/w:pPr/w:keepNext{w:val=0}', 'keep_with_next', None,
564567
'w:p/w:pPr'),
568+
('w:p/w:pPr/w:pageBreakBefore{w:val=0}', 'page_break_before', None,
569+
'w:p/w:pPr'),
565570
])
566571
def on_off_set_fixture(self, request):
567572
p_cxml, prop_name, value, expected_cxml = request.param

0 commit comments

Comments
 (0)
X Tutup