From c6e6a2b462d0bc5b7a5ac61d26c907e66cbcc946 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Thu, 23 Nov 2017 19:54:53 +0000 Subject: Parse paragraph indents --- mammoth/documents.py | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) (limited to 'mammoth/documents.py') diff --git a/mammoth/documents.py b/mammoth/documents.py index e4372ab..b00f1bb 100644 --- a/mammoth/documents.py +++ b/mammoth/documents.py @@ -21,6 +21,24 @@ class Paragraph(HasChildren): style_name = cobble.field() numbering = cobble.field() alignment = cobble.field() + indent = cobble.field() + + +@cobble.data +class ParagraphIndent(object): + start = cobble.field() + end = cobble.field() + first_line = cobble.field() + hanging = cobble.field() + + +@cobble.data +class Indent(object): + left = cobble.field() + right = cobble.field() + first_line = cobble.field() + hanging = cobble.field() + @cobble.data class Run(HasChildren): @@ -86,8 +104,14 @@ def document(children, notes=None, comments=None): comments = [] return Document(children, notes, comments=comments) -def paragraph(children, style_id=None, style_name=None, numbering=None, alignment=None): - return Paragraph(children, style_id, style_name, numbering, alignment=alignment) +def paragraph(children, style_id=None, style_name=None, numbering=None, alignment=None, indent=None): + if indent is None: + indent = paragraph_indent() + + return Paragraph(children, style_id, style_name, numbering, alignment=alignment, indent=indent) + +def paragraph_indent(start=None, end=None, first_line=None, hanging=None): + return ParagraphIndent(start=start, end=end, first_line=first_line, hanging=hanging) def run( children, -- cgit v1.2.3