Skip to content

Commit 288871d

Browse files
author
Steve Canny
committed
parfmt: add ParagraphFormat.keep_with_next setter
1 parent ea6a195 commit 288871d

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
@@ -237,6 +237,13 @@ def keepNext_val(self):
237237
return None
238238
return keepNext.val
239239

240+
@keepNext_val.setter
241+
def keepNext_val(self, value):
242+
if value is None:
243+
self._remove_keepNext()
244+
else:
245+
self.get_or_add_keepNext().val = value
246+
240247
@property
241248
def pageBreakBefore_val(self):
242249
"""

docx/text/paragraph.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,10 @@ def keep_with_next(self):
207207
return None
208208
return pPr.keepNext_val
209209

210+
@keep_with_next.setter
211+
def keep_with_next(self, value):
212+
self._element.get_or_add_pPr().keepNext_val = value
213+
210214
@property
211215
def left_indent(self):
212216
"""

tests/text/test_paragraph.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -553,10 +553,15 @@ def on_off_get_fixture(self, request):
553553

554554
@pytest.fixture(params=[
555555
('w:p', 'keep_together', True, 'w:p/w:pPr/w:keepLines'),
556+
('w:p', 'keep_with_next', True, 'w:p/w:pPr/w:keepNext'),
556557
('w:p/w:pPr/w:keepLines', 'keep_together', False,
557558
'w:p/w:pPr/w:keepLines{w:val=0}'),
559+
('w:p/w:pPr/w:keepNext', 'keep_with_next', False,
560+
'w:p/w:pPr/w:keepNext{w:val=0}'),
558561
('w:p/w:pPr/w:keepLines{w:val=0}', 'keep_together', None,
559562
'w:p/w:pPr'),
563+
('w:p/w:pPr/w:keepNext{w:val=0}', 'keep_with_next', None,
564+
'w:p/w:pPr'),
560565
])
561566
def on_off_set_fixture(self, request):
562567
p_cxml, prop_name, value, expected_cxml = request.param

0 commit comments

Comments
 (0)