Metadata-Version: 2.1
Name: OOXmilker
Version: 0.0.2
Summary: An Office Open XML parser that outputs HTML.
Author-email: Herve Leleu <mhank42@yahoo.com>
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Text Processing
Requires-Python: >=3.6
Description-Content-Type: text/markdown

OOXmilker is an Office Open XML parser that outputs HTML. It takes any Word (.docx, .docm), Excel (.xlsx, .xlsm), PowerPoint (pptx, pptm) or Visio (.vsdx, .vsdm)[^1] file as an input. It returns every paragraphs from the file, one after the other.

## Installation:

This package can be installed using the following instruction in a console:
```bash
pip install ooxmilker
```

## Usage:

Once the package installed, the module can be imported like so:
```python
import ooxmilker
```

To use OOXmilker, make a call to `read()` function. This function takes a **string** representing the path to an Office Open XML file as argument. `read()` being a generator function, it must be part of some sort of loop. 

For example, the following script prints each paragraph from a Word file.
```python
file_path = "C:\\Documents and Settings\\Guest\\My Documents\\document.docx"
for p in ooxmilker.read(file_path):
    print(p[0])
    print(p[1])
```
Each iteration returns a **tuple** with 2 values. In the example above, value `p[0]` is a **string** containing a single paragraph from *document.docx* with some HTML tags. Value `p[1]` is a **dictionary** providing context information on the paragraph.

| Key | Possible Values | Description |
|---|---|---|
| tbl | `True`  `False` | If True, the content is located inside a table. Does not apply to Excel files. |
| chg | `True`  `False` | If True, the content contains changes (insertions or deletions). Applies to Word files only. |

Continuing with the same example, `p[1].get("tbl")` would either return a **boolean** `True` or `False`. If True, the paragraph is part of a table; if False, the paragraph is not part of a table.

## Compatibility

OOXmilker needs Python 3.6 to work.

Features from Office Open XML format and their respective compatibility when using OOXmilker will be listed in the near future.

[^1]: Visio is not part of the OOXML standard, but still close enough for OOXmilker.
