@@ -50,6 +50,7 @@ def partition(
5050 pdf_infer_table_structure : bool = False ,
5151 xml_keep_tags : bool = False ,
5252 data_source_metadata : Optional [DataSourceMetadata ] = None ,
53+ ** kwargs ,
5354):
5455 """Partitions a document into its constituent elements. Will use libmagic to determine
5556 the file's type and route it to the appropriate partitioning function. Applies the default
@@ -121,46 +122,51 @@ def partition(
121122 file .seek (0 )
122123
123124 if filetype == FileType .DOC :
124- elements = partition_doc (filename = filename , file = file )
125+ elements = partition_doc (filename = filename , file = file , ** kwargs )
125126 elif filetype == FileType .DOCX :
126- elements = partition_docx (filename = filename , file = file )
127+ elements = partition_docx (filename = filename , file = file , ** kwargs )
127128 elif filetype == FileType .ODT :
128- elements = partition_odt (filename = filename , file = file )
129+ elements = partition_odt (filename = filename , file = file , ** kwargs )
129130 elif filetype == FileType .EML :
130- elements = partition_email (filename = filename , file = file , encoding = encoding )
131+ elements = partition_email (filename = filename , file = file , encoding = encoding , ** kwargs )
131132 elif filetype == FileType .MSG :
132- elements = partition_msg (filename = filename , file = file )
133+ elements = partition_msg (filename = filename , file = file , ** kwargs )
133134 elif filetype == FileType .HTML :
134135 elements = partition_html (
135136 filename = filename ,
136137 file = file ,
137138 include_page_breaks = include_page_breaks ,
138139 encoding = encoding ,
140+ ** kwargs ,
139141 )
140142 elif filetype == FileType .XML :
141143 elements = partition_xml (
142144 filename = filename ,
143145 file = file ,
144146 encoding = encoding ,
145147 xml_keep_tags = xml_keep_tags ,
148+ ** kwargs ,
146149 )
147150 elif filetype == FileType .EPUB :
148151 elements = partition_epub (
149152 filename = filename ,
150153 file = file ,
151154 include_page_breaks = include_page_breaks ,
155+ ** kwargs ,
152156 )
153157 elif filetype == FileType .RST :
154158 elements = partition_rst (
155159 filename = filename ,
156160 file = file ,
157161 include_page_breaks = include_page_breaks ,
162+ ** kwargs ,
158163 )
159164 elif filetype == FileType .MD :
160165 elements = partition_md (
161166 filename = filename ,
162167 file = file ,
163168 include_page_breaks = include_page_breaks ,
169+ ** kwargs ,
164170 )
165171 elif filetype == FileType .PDF :
166172 elements = partition_pdf (
@@ -171,6 +177,7 @@ def partition(
171177 infer_table_structure = pdf_infer_table_structure ,
172178 strategy = strategy ,
173179 ocr_languages = ocr_languages ,
180+ ** kwargs ,
174181 )
175182 elif (filetype == FileType .PNG ) or (filetype == FileType .JPG ):
176183 elements = partition_image (
@@ -180,40 +187,45 @@ def partition(
180187 include_page_breaks = include_page_breaks ,
181188 strategy = strategy ,
182189 ocr_languages = ocr_languages ,
190+ ** kwargs ,
183191 )
184192 elif filetype == FileType .TXT :
185193 elements = partition_text (
186194 filename = filename ,
187195 file = file ,
188196 encoding = encoding ,
189197 paragraph_grouper = paragraph_grouper ,
198+ ** kwargs ,
190199 )
191200 elif filetype == FileType .RTF :
192201 elements = partition_rtf (
193202 filename = filename ,
194203 file = file ,
195204 include_page_breaks = include_page_breaks ,
205+ ** kwargs ,
196206 )
197207 elif filetype == FileType .PPT :
198208 elements = partition_ppt (
199209 filename = filename ,
200210 file = file ,
201211 include_page_breaks = include_page_breaks ,
212+ ** kwargs ,
202213 )
203214 elif filetype == FileType .PPTX :
204215 elements = partition_pptx (
205216 filename = filename ,
206217 file = file ,
207218 include_page_breaks = include_page_breaks ,
219+ ** kwargs ,
208220 )
209221 elif filetype == FileType .JSON :
210- elements = partition_json (filename = filename , file = file )
222+ elements = partition_json (filename = filename , file = file , ** kwargs )
211223 elif (filetype == FileType .XLSX ) or (filetype == FileType .XLS ):
212- elements = partition_xlsx (filename = filename , file = file )
224+ elements = partition_xlsx (filename = filename , file = file , ** kwargs )
213225 elif filetype == FileType .CSV :
214- elements = partition_csv (filename = filename , file = file )
226+ elements = partition_csv (filename = filename , file = file , ** kwargs )
215227 elif filetype == FileType .TSV :
216- elements = partition_tsv (filename = filename , file = file )
228+ elements = partition_tsv (filename = filename , file = file , ** kwargs )
217229 elif filetype == FileType .EMPTY :
218230 elements = []
219231 else :
0 commit comments